Commit 638a9da
Release: Merge v-next into main (#198)
* Adds room editing dialog
Adds a dialog to edit room properties, specifically the position of doors.
This allows users to adjust room layouts and door placements after a room has been created.
* Enables door repositioning in room editor
Implements functionality to move door positions within the room editor dialog.
This allows users to fine-tune door placement within a room, enhancing the level design process.
It dynamically shows the correct axes of movement by looking at door direction and only displaying the perpendicular movement axes.
* Enables moving exits in room editor
Allows adjusting the position of exits on walls within the room editor.
This change introduces functionality to dynamically update exit positions, providing a more intuitive and interactive editing experience.
The "Modal" property of the dialog was set to false to allow background interaction.
* Improves door placement in room editor
Replaces directional buttons with a slider for precise
door positioning on walls.
This change allows users to visually adjust the door's
location within the room editor dialog, enhancing the
user experience.
* add id on div to identify map context menu
* Improves map menu placement.
Makes the map menu stick to the top of the screen to prevent it from scrolling off-screen during gameplay.
* Initial plan
* Implement maps-menu enable/disable based on nextRoom draft state
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
* When dialogue cancelled nextroom should be set to null
* Disables room buttons when no room exists
Disables the "Add Room" and "Edit Room" buttons when there isn't a room to add or edit. This prevents the user from interacting with those features when they are not available and improves the user experience.
* Corrects door placement on the map
Adjusts the positioning of doors on the map to ensure they are placed outside the adjacent room's boundary.
Simplifies door drawing logic, ensuring doors are consistently drawn as full squares.
* Fixes typo in new room dialog
Corrects a typo in the new room dialog where "gameTurn" should be "get".
This improves the readability of the generated room description for the user.
* Corrects door placement on the map
Adjusts the door coordinate calculation to ensure
doors are placed correctly relative to rooms.
The canvas drawing logic was also reviewed, and
unnecessary offset code for vertical doors was removed.
* Updates save game count to use adventure previews
fixes #119
Changes the implementation of GetSaveGameCount to utilize the GetAdventurePreviews method, providing a more accurate count of saved games.
Adds .gitignore file for Rider IDE to ignore IDE specific files.
* Adds adventure deletion functionality
Implements the ability to delete saved adventures.
This change introduces a delete endpoint in the service and a corresponding button in the adventure picker component.
When a user clicks the delete button, the selected adventure is removed and the adventure list is refreshed.
* Fixes adventure deletion event handling
Stops event propagation on the adventure deletion button to prevent unintended row selection when deleting an adventure.
Also, adds project-level IDE configuration files.
* Refactors adventure preview loading
Improves the adventure picker component by extracting the adventure preview loading logic into a separate method.
This change enhances code readability and maintainability.
Also, this fixes a potential UI update issue by explicitly calling StateHasChanged after loading previews when deleting an adventure.
* Adds adventurer deletion functionality
Enables the deletion of adventurers, ensuring that an adventurer can only be deleted if it is not currently associated with any existing adventures.
This prevents data integrity issues and provides a safeguard against accidentally deleting adventurers that are actively used in a game.
* Add "Start a new fight" button to reset combat screen - fixes #116 (#124)
* Initial analysis of issue #116 - combat screen reset functionality
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
* Implement "Start a new fight" button to reset combat screen - fixes #116
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
* Add adventure name property and use adventurer ID reference (#126)
* Initial plan
* Add adventure name feature - update domain models and services
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
* Remove foreign key constraint from adventures table
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: FBoucher <2404846+FBoucher@users.noreply.github.com>
* Add complete Dungeon theme with custom backgrounds, text, and accent colors (#128)
* Initial plan
* Add Dungeon theme option to Settings page
Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
* Address code review feedback - improve theme persistence
Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
* Updates Aspire SDK and package versions
Updates the Aspire.AppHost.Sdk version in the AppHost project file.
Adds a Directory.Packages.props file to manage package versions centrally,
and updates various Aspire and related package versions to their latest releases,
ensuring consistency and compatibility across the solution.
* Implement full Dungeon theme with custom backgrounds and text colors
Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
Co-authored-by: fboucher <fboucher@outlook.com>
* Implement door type drawing functions with lock/unlock feature for dungeon map (#129)
* Implement door details with different door types (Archway, Wooden, Metal, Reinforced, Curtain, Portcullis, Stone Slab)
Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: fboucher <2404846+fboucher@users.noreply.github.com>
* Fix: Addresses combobox selection and map debug issues (#130)
Addresses an issue where combobox selections were not handled correctly.
Now correctly passes the selected object instead of just the ID.
Also adds debug logging to help resolve an intermittent map drawing issue.
* Upgrades .NET and Aspire dependencies (#132)
* upgrade in progress
* feat(dab): Configure connection string via environment variable
Configures the Data API Builder (DAB) connection string using an environment variable.
This change ensures that the connection string for the database is properly set within the DAB configuration, especially during upgrade scenarios.
It removes the port from the DAB template and constructs the connection string dynamically in code, referencing the MySQL resource's properties.
* Replaces bind mount with file copy
Replaces the bind mount approach for database initialization with a simpler file copy mechanism.
This change simplifies the setup process, especially during upgrades, by ensuring that database scripts are copied directly into the container.
* Implements combat turn management. (#134)
Adds logic to manage combat turns, including identifying the current fighter and alternating turns between adventurer and creature.
Introduces a dialog to select the first fighter and displays the current turn information.
Fixes: #133
* Implements game over and victory conditions (#136)
Adds logic to handle adventurer and creature defeats, displaying appropriate messages.
Disables user interaction after combat ends to prevent further actions.
Resets health depletion flags and UI elements on new fight start.
Fixes #135
* Adds damage dice rolling functionality (#138)
Implements the ability to roll damage dice within the combat page.
This allows players to simulate damage rolls using 1D6 or 2D6 dice.
Issue #137
* Removes seed adventurers from database (#139)
* Removes demo adventurers from seed data
Removes the demo adventurers from the database seed data.
This prevents the creation of unnecessary or test adventurers
when the database is initialized, ensuring a cleaner and more
realistic initial state.
* Removes demo adventurers from seed data
The demo adventurers are no longer needed in the
database seed data. This commit removes them.
* Enables local Docker deployment (#140)
* Adds Docker configuration for local development
Sets up Docker Compose to orchestrate the application, database, and data api builder services for local development.
Includes Dockerfile for the web client.
Ensures database creation if it doesn't exist.
Includes `.dockerignore` to exclude unnecessary files during image builds.
Sets up `.env.example` with required environment variables
* Enables running the app locally with Docker
Provides a `docker-compose.yml` file for easy local deployment using Docker.
Adds Dockerfiles for the database, Data API Builder (DAB), and web app components.
Includes an `.env.example` file with configurable environment variables.
Publishes images to Docker Hub upon tagging a commit.
Fixes #91
* Improves adventurer creation flow (#143)
* Improves adventurer creation experience
Enhances the adventurer creation page by:
- Removing unnecessary conditional rendering for weapons, streamlining the weapon selection process.
- Updates the manoeuvre selection to provide more guidance to the user, including a dynamic placeholder text and label displaying the current weapon.
- Sets default values to avoid null reference exceptions, improving robustness.
- Sets default row size on the AdventurerPicker component to medium for better UI consistency
Fixes #142
* Navigates to adventure page after character creation
Updates the character creation process to navigate to the
adventure page with the newly created adventurer's ID.
This enables a smoother transition to gameplay.
Adds auto-selection of the created adventurer.
Fixes #142
* Renames Preview classes to DTO (#144)
Renames the `*Preview` classes to `*DTO` to better reflect their purpose as Data Transfer Objects.
This change improves clarity and consistency in the codebase.
* Positions new rooms automatically on map (#147)
Calculates the origin coordinates for newly added rooms
based on the selected exit door of the current room,
ensuring proper alignment and visual consistency on the map.
Adds a visual highlight to the "Add Room to Map" button when
a new room is available to be added.
Improves map generation workflow by automating room placement.
Related to #146
* Prevents duplicate unique rooms on a level (#150)
Implements a mechanism to prevent the same unique room from appearing multiple times on the same dungeon level.
Introduces a `_usedUniqueRoomsByLevel` dictionary in the `Dungeon` class to track used unique room IDs per level.
The `TryResolveUniqueRoomConflict` method in `GameTurn` now re-rolls unique rooms if they've already been used on the current level, up to a maximum number of attempts.
Adds `NewRoomDialogData` to pass both the `Room` and `Dungeon` to the NewRoomDialog component.
Fixes #149
* fix: standardize Blazor parameter capitalization (#45) (#155)
- Adventurer.razor: `state` → `State` with private `_state` backing field
- Play.razor: `adventureId` → `AdventureId` with private `_adventureId` backing field
Closes #45
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Enhance map graphics with dungeon aesthetic (#156)
* feat: enhance map graphics with parchment background, stone textures, and 3D walls
Visual improvements to dungeon map (no external libraries):
- Parchment-style background with gradient and subtle age texture
- 3D beveled walls with shadow effect
- Stone tile floor pattern with brick-style layout
- Warm torch glow effect for current room
- Enhanced door visuals with thicker wall lines
- Special main entrance marker with decorative arch
- Refined grid dots on warmer color palette
- Configurable MapTheme color constants
* docs: update Lambert history and add map graphics decision
* Scribe: Document Lambert's map graphics work
- Add orchestration log: 2026-02-28T194415-lambert.md
- Add session log: 2026-02-28T194415-map-graphics-improvement.md
- Merge decisions from inbox (pure Canvas 2D, user directive)
- Update Dallas history with Lambert's frontend changes
* feat: add dice roll animations (#157)
- Added tumbling animation with random face cycling (600ms)
- Added single-flip animation for shift buttons
- Added doubles celebration with sparkles and stars
- Fixed NewRoomDialog to always render dice for animation triggers
- Pure CSS/JS implementation, no external libraries
* feat: map pan controls for large dungeon exploration (#158)
* .squad: Orchestration & session logs for dice animations & map panning
- Orchestration logs for Lambert agents 2-5 (dice animations + map panning)
- Session log summarizing dice animation work and viewport panning features
- Merged decision inbox (viewport panning implementation) into decisions.md
- Updated Lambert's history.md with completion details and critical patterns
Feature summary:
- Dice Roll Animations: Added roll, flip, doubles celebration animations (Agent 2-4)
- Map Viewport Panning: Implemented with arrow buttons, keyboard support (Agent 5)
- Critical pattern documented: Always-render Dice components with CSS visibility
* feat: add map pan controls with arrow buttons and keyboard support
- Add viewport offset tracking (viewportOffsetX, viewportOffsetY) in canvasTools.js
- Pan ~2 grid squares per click via arrow buttons or keyboard arrow keys
- Add Center button to snap viewport to current room
- Add Reset button to return to origin (0,0)
- Modify DrawRoom() and DrawDoor() to apply viewport offset
- Add C# interop methods in MapTools.cs for Blazor components
- Add pan control UI to Play.razor with directional pad layout
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: combat/play crash and missing content at high zoom (fixes #114) (#159)
* fix: add FluentMenuProvider to MainLayout to fix zoom crash (closes #114)
FluentOverflow renders a FluentMenu dropdown when items overflow (e.g. at
high zoom levels). FluentMenu requires FluentMenuProvider to be registered
in the layout, otherwise it throws ArgumentNullException and disconnects
the Blazor circuit.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: enable horizontal scroll on body content when zoomed in
At high zoom levels content overflows the viewport horizontally.
Adding overflow-x: auto to .body-content allows the user to scroll
horizontally to access all content.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: force overflow-x: auto to override FluentUI scoped CSS hidden rule
FluentBodyContent's scoped CSS sets overflow-x: hidden with a
[b-9l28a7kahd] attribute selector, which wins over our class-only rule.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* chore: auto-strip .squad/.squad-templates/.copilot from main on merge
GitHub Actions workflow that runs on every push to main and removes
dev-only tooling directories (.squad, .squad-templates, .copilot).
These are needed for development on v-next but should never land in
the production branch that users see.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Enriches dungeon data and table viewer (#165)
* more data related to rooms and metatables
* feat: expand creature data and add dungeon lookup tables (fixes #162)
Update creature schema to support longer text fields and populate the database with extensive new creature entries and randomized loot lookup tables.
* feat: map and display encounter data in room details (fixes #162)
Add an Encounter property to the MappedRoom model and update the web client to show encounter information in the room summary. This commit also updates the development environment to .NET 10.0.100 and adds VS Code launch configurations for local development.
* fix issue with iaut1 table and all all other meta_table
* add level column to meta_table and update data inserts
* enhance MetaTables and TableViewer components with improved data handling and UI updates
* clean-up
* fix: standardize CSV formatting and correct room data tables (fixes #162)
Standardizes all CSV data files by removing unnecessary double quotes and updates the `l1w` and `l1wo` tables to correctly list NPC encounters instead of weapons.
* squad clean-up
* feat: add release and manual triggers to image publishing workflow
Update the workflow to trigger on release publication and manual dispatch. This allows users to publish images for specific git tags manually and ensures images are built when a formal release is created.
* missing tables used in level 1
* feat: show app version in footer (#169)
show app version in footer (#161)
* feat: add name and level filtering to creature picker (#163) (#175)
Update the creature selection grid to support filtering by name and level, allowing users to more easily find specific creatures. This includes adding search boxes to column options and logic to filter the data source.
* feat: add XP delta widget to adventurer sheet (#177)
* feat: add XP delta widget to adventurer sheet (#164)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* align the txtboxs and buttons
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* update aspire done! (#179)
* update version for release
* feat: complete adventurer character sheet (#173)
Add all missing domain model fields to AdventurerCard.razor:
- Discipline stat
- Status effects (Bloodied, Fever, Soaked, Pneumonia)
- Currency (Gold, Silver, Copper)
- Rations count
- Quest tracking (Legend Status, Prisoners, Treasures, Side Quests)
- Favor of the Gods (all six deities)
- Weapon display
All 31 domain model properties now visible in the UI.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* moving components around to mimik the sheet
* all components ar ethere. still need to tuning
* docs: add character sheet to feature roadmap (#173)
* Enhances Adventurer Card and Combat Page Layout (#182)
* feat: enhance AdventurerCard with level and health display, and add legend status level tracker
Co-authored-by: Copilot <copilot@github.com>
* feat: adjust card widths and enhance AdventurerCard layout for better visibility
Co-authored-by: Copilot <copilot@github.com>
---------
Co-authored-by: Copilot <copilot@github.com>
* Enhances player inventory management and expands game items (#185)
* feat: add interactive magic potion inventory management
This feature allows players to dynamically manage their adventurer's magic potions. It introduces a new `SelectPotionDialog` for choosing potions from the available list and enhances the `MagicPotions` component with functionality to add new potions and remove ('use') existing ones, providing a fully interactive inventory. A new `GetMagicPotions` service endpoint was added to fetch all available potions.
* feat: enhance AdventurerCard and MagicPotions components with player change handling and potion management
* feat: implement MagicScroll selection dialog and enhance MagicScrolls component with add/delete functionality
* fix: update icon for adding large and heavy items in AdventurerCard
* feat: enhance magic scrolls and potions with new entries and detailed attributes
* Add project cache files for AppHost and ServiceDefaults
- Created AppHost.csproj.lscache to cache language service data for the AppHost project.
- Created ServiceDefaults.csproj.lscache to cache language service data for the ServiceDefaults project.
- Both files are auto-generated and improve performance for C# Dev Kit.
* feat: add dialog for editing large and heavy items and update AdventurerCard component
* feat: update magic scrolls and potions with new descriptions and costs; enhance AdventurerCard for large and heavy item management
* update aspire and version
* feat: add is_initial column to armour and magic scroll data models and implement retrieval services
* feat: add armour piece selection dialog and update gitignore for agent tooling (#187)
* fix: update footer links in MainLayout for documentation and personal site
* Remove build warnings (issue #189) (#190)
* Fix warnings for issue #189: update packages and code fixes to remove build warnings\n\n- Suppress NU1902 temporarily in Directory.Packages.props\n- Fix enum switch exhaustiveness, await async invocations, remove unused fields, and null-safety fixes\n\nResolves: #189\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: update Aspire, OpenTelemetry, and FluentUI dependencies
* remove the suppressor NU1902 packages upgraded
* fix: correct roll reference for gem transformation in iaut1.csv
* feat: use all door types from room definition (#191) (#193)
* feat: use all door types from room definition (closes #191)
* feat: add floating map legend panel with door type icons
* fix: explicitly expose drawLegendDoor on window for Blazor JS interop
* fix: center legend door icons in canvas by passing top-left to DrawDoorType
* feat: add locked doors logic (issue #148) (#195)
- Add LockRoll to MappedRoom and RollForLocks action in GameTurn
- Add Locks step to NewRoomDialog wizard with 1D6 roll
- Skip Locks step when room has 0 exits or is a corridor
- Update AssignExits to apply locking rules based on D6 result:
6 = all locked, 5 = reinforced locked, 4 = metal locked
- Disable locked door buttons in SelectDoorDialog
- Add guard in Play.razor to prevent navigating to unmapped rooms
* Implement lockpicking and patrol wait features (Issue #192) (#196)
* Implement lockpicking and patrol wait features (Issue #192)
* Update NewRoomDialog locks step message to show current room context
* Refine NewRoomDialog locks step message to only mention exits type and add exits type to the Summary panel
* Show locked/unlocked status in the Summary panel of NewRoomDialog
* Fix CS8602 warning on null dereference of ExitsType in NewRoomDialog
* chore: update Aspire dependencies to 13.3.5 and lowercase room exit descriptions
* Refactor patrol wait to roll 1D6 on l1p table and treat as always hostile
* refactor: update patrol resolution to roll 2d6 and support non-hostile encounters
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>1 parent a49caa1 commit 638a9da
157 files changed
Lines changed: 16209 additions & 57 deletions
File tree
- .copilot
- skills
- agent-collaboration
- agent-conduct
- architectural-proposals
- ci-validation-gates
- cli-wiring
- client-compatibility
- cross-squad
- distributed-mesh
- docs-standards
- economy-mode
- external-comms
- gh-auth-isolation
- git-workflow
- github-multi-account
- history-hygiene
- humanizer
- init-mode
- model-selection
- nap
- personal-squad
- project-conventions
- release-process
- reskill
- reviewer-protocol
- secret-handling
- session-recovery
- squad-conventions
- test-discipline
- windows-compatibility
- .github
- agents
- workflows
- .squad
- agents
- dallas
- hicks
- lambert
- ralph
- ripley
- scribe
- casting
- identity
- orchestration-log
- templates
- casting
- identity
- skills
- agent-collaboration
- agent-conduct
- architectural-proposals
- ci-validation-gates
- cli-wiring
- client-compatibility
- cross-squad
- distributed-mesh
- docs-standards
- economy-mode
- external-comms
- gh-auth-isolation
- git-workflow
- github-multi-account
- history-hygiene
- humanizer
- init-mode
- model-selection
- nap
- personal-squad
- project-conventions
- release-process
- reskill
- reviewer-protocol
- secret-handling
- session-recovery
- squad-conventions
- test-discipline
- windows-compatibility
- workflows
- src
- 2d6-dungeon-service
- data
- domain
- 2d6-dungeon-web-client
- Components
- Dialogues
- Pages
- Domain
- wwwroot
- scripts
- AppHost
- ServiceDefaults
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
0 commit comments