Commit 97c3dce
(feature): Enable operator in mtar deployment (#3717)
* Refactor configureDb function to accept a pointer to the database config map in metricsforwarder config
* Refactor database configuration in autoscaler API and metrics forwarder
• Centralize database configuration logic into db.ConfigureDb and db.ConfigureStoredProcedureDb
• Remove individual configurePolicyDb and configureBindingDb functions
• Move DatabaseConfig struct to a new models.go file in the db package
• Update calls to database configuration in both API and metrics forwarder to use the new centralized functions
* Refactor database configuration in autoscaler API and metrics forwarder
• Change db.ConfigureDb calls to vcapReader.ConfigureDb for PolicyDb and BindingDb.
• Introduce vcapReader.ConfigureStoredProcedureDb for handling stored procedure database configuration.
• Remove ConfigureStoredProcedureDb and ConfigureDb from db/helper.go.
• Update tests to reflect changes in database configuration methods.
* Remove debug print statements and enable ConfigureStoredProcedureDb test in autoscaler config utils
* Add time import and DatabaseConfig struct to db.go; remove models.go
- Import the "time" package in db.go for time.Duration usage.
- Introduce DatabaseConfig struct in db.go with connection parameters.
- Delete models.go, moving DatabaseConfig to db.go.
* Add stored procedure support to autoscaler API config
• Implement configuration loading for stored procedure database in config.go
• Enable tests for stored procedure database when cred_helper_impl is set to default in config_test.go
* Potential fix for code scanning alert no. 431: Potentially unsafe quoting
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* Fix lints
* Increase instances for publicapiserver and metricsforwarder, add eventgenerator module with configuration and routes, and set default instances to 0 for new modules in autoscaler app.
* Implement LoadConfig function with VCAP support and error handling in eventgenerator
• Refactor LoadConfig to read from file and VCAP services
• Add error variables for configuration loading issues
• Introduce loadYamlFile and loadVcapConfig helper functions
• Update tests with new configuration loading logic and VCAP reader mocks
• Remove unused imports and adjust defaultConfig function signature
* Rename ConfigureDb to ConfigureDbInMap
* WIP
* Refactor tests and update stored procedure DB handling
- Correct grammar in test descriptions for database configuration calls.
- Change cred_helper_impl to 'stored_procedure' for storedProcedure_db service.
- Remove redundant storedProcedureConfig and read directly from VCAP services.
- Remove outdated tests related to default cred_helper_impl for storedProcedure_db.
* Implement LoadConfig function with VCAP support and error handling in eventgenerator
• Refactor LoadConfig to read from file and VCAP services
• Add error variables for configuration loading issues
• Introduce loadYamlFile and loadVcapConfig helper functions
• Update tests with new configuration loading logic and VCAP reader mocks
• Remove unused imports and adjust defaultConfig function signature
* Add ConfigureDb method to VCAPConfiguration and integrate with eventgenerator config
• Implement ConfigureDb method in VCAPConfiguration to set database URL
• Use ConfigureDb to configure PolicyDb and AppMetricsDb in eventgenerator
• Add AppMetricsDb constant to db package
• Update tests to reflect changes in database configuration methods
* Refactor DBConfig and DatabaseConfig references to pointer types in eventgenerator
• Update DBConfig and DatabaseConfig struct references to use pointers in eventgenerator_suite_test.go and main.go.
• Change struct field names from DB to Db and PolicyDB to PolicyDb, AppMetricDB to AppMetricDb to align with Go naming conventions.
* Initialize default database configurations for PolicyDb and AppMetricDb in eventgenerator
* fix tests
* Fix tests
* Fix lints
* Add configutil and new vendor dependencies to eventgenerator spec
* Update environment variable names to uppercase in mta.tpl.yaml for autoscaler module
* Refactor eventgenerator configuration and tests for CF environment
- Update eventgenerator configuration to use pointers for optional structs and add JSON tags
- Modify eventgenerator test suite to handle CF environment variables and dynamically set config
- Adjust eventgenerator main.go to load and validate config with VCAP services support
- Implement ToJSON method in config.go for marshaling configuration to JSON
- Change environment variable keys in mta.tpl.yaml to uppercase and use placeholders for Go version
* Add eventgenerator health password and logcache-client TLS config
• Introduce eventgenerator_health_password in build-extension-file.sh for event generator health checks.
• Add eventgenerator-config resource with basic auth password in mta.tpl.yaml.
• Implement configureMetricsCollectorTLS function in eventgenerator/config/config.go to load TLS configuration for the metrics collector from logcache-client.
• Update eventgenerator unit tests to reflect new TLS configuration loading.
• Remove scaling engine and metric collector TLS configs from default_config.json, streamline cf_server and db configurations.
• Add logcache-client as a user-provided service in mta.tpl.yaml.
* Refactor event generator configuration to use node count instead of node addresses
* Remove metricsforwarder and eventgenerator from instance groups in use-cf-services.yml
* Fix mtar configuration
* Add comments to NodeCount and NodeIndex in eventgenerator config
* Enable parallel deployments in autoscaler MTA configuration
* Add pool configuration and refactor eventgenerator instance management
- Introduce pool configuration to manage eventgenerator node count and index
- Remove commented-out XFCC and route registration configurations
- Implement instance index and space/org GUID retrieval in configutil
- Adjust eventgenerator main.go to use new pool configuration
- Update tests and default JSON config to reflect changes
* Fix integration
* Fix linting
* Refactor eventgenerator tests to use testhelpers for client creation and XFCC header setting
* Remove eventgenerator configuration from cf-services
* Fix metric poller test
* Fix test
* Add metric_collector_url configuration to eventgenerator-config in autoscaler extension build script
* Change metric collector URL to use non-HTTPS scheme in default_config.json
* Updated metricCollector configuration to include metric_collector_url in autoscaler extension build script.
* Fix tests
* Potential fix for code scanning alert no. 432: Potentially unsafe quoting
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
* WIP
* Fix eventgenerator deployments
* Reduce instance count for publicapiserver module from 2 to 1 in autoscaler build script
* Remove syslog-client and logcache-client dependencies from autoscaler components
• Eliminate syslog-client requirement from metricsforwarder module and related resources
• Remove logcache-client dependency from eventgenerator and metricsforwarder modules
• Delete configuration code for Metrics Collector TLS setup in eventgenerator
* Fix build
* Refactor test helper functions for VCAP services in autoscaler
• Consolidate GetDbVcapServices functions to accept a slice of database names.
• Rename serviceName parameter to databaseName in GetStoredProcedureDbVcapServices for clarity.
• Remove unused GetDbVcapServices overload with serviceName and dbType parameters.
* Refactor EventGenerator config to use map for DB configs in components_test
* Fix merge typos
* Add syslog-client dependency to metricsforwarder module and define new syslog-client resource in mta.tpl.yaml
* Refactor db structure for eventgenerator config
* Remove empty line from ExpectConfigureDatabasesCalledOnce in testhelpers/db.go
* Update CircuitBreakerConfig YAML tag and add GinkgoHelper to event generator in tests
* Standardize 'dbUri' parameter to 'dbURI' in autoscaler integration tests configs
* Refactor postgresDB service URI handling in configutil tests
• Simplify postgresDB service URI test cases
• Remove mysqlDB related tests
• Consolidate AfterEach cleanup for temporary certificate files
* Disable CF server tests and add TODO for log-cache UAA client connection in eventgenerator tests
* Reduce instances for eventgenerator and metricsforwarder to 1
* Update event generator host configuration and routes in autoscaler build script
* Update autoscaling API endpoint in cf-login script to use DEPLOYMENT_NAME
* Rename VCAPServer to CFServer in Autoscaler API configuration and references
* Refactor health check endpoint constants in broker server and routes
* Refactor event generator routing and disable a test for Postgres config loading
- Change `CreateEventGeneratorRoutes` to `CreateEventGeneratorSubrouter` for better clarity.
- Disable the test case for loading the database configuration from VCAP_SERVICES for Postgres.
- Rename `httpServer` to `eventgeneratorServer` to reflect its specific use.
- Update `Server` struct to include `autoscalerRouter`.
- Modify `createEventGeneratorRouter` to `createEventGeneratorRoutes` and adjust its implementation.
- Fix `config_test.go` to correctly assign empty `DatabaseConfig` instead of clearing URL.
- Remove redundant `createEventGeneratorRouter` and integrate health server setup into `CreateCFServer` and `CreateMtlsServer`.
* Add support for MySQL in autoscaler Makefile and make DB type configurable
* Update HttpClientTimeout default value and YAML tag in autoscaler config
* Fix test
* Remove tests for wrong method on aggregated metrics history endpoint
* Remove empty line from CreateMtlsServer function in eventgenerator server.
* Improve output for cf loging
* Refactor deployment naming and add ENABLE_MTAR flag handling in vars.source.sh
* Refactor Makefile for acceptance tests to use hardcoded config path
• Removed ACCEPTANCE_CONFIG_PATH variable definition
• Updated acceptance-tests-config target to use a hardcoded config path directly in the script call
* Remove unnecessary ACCEPTANCE_CONFIG_PATH dependency from acceptance-tests-config target in Makefile
* Update default DEPLOYMENT_NAME in vars.source.sh to use 'autoscaler-mta' instead of 'autoscaler-mtar'
* Refactor health endpoint and update server routing in eventgenerator
- Remove health endpoint from eventgenerator routes
- Add health and v1 prefix handling to autoscalerRouter in CFServer creation
- Update server tests to reflect routing changes and add health endpoint authentication tests
* Adds uaac login command
* Update eventgenerator config to separate CFServer port from Server port
* Update eventgenerator and metricsforwarder UAA client config
- Remove metricsforwarder UAA client ID and secret
- Add eventgenerator log cache UAA client ID and secret
- Adjust resource UAA client config to use new eventgenerator credentials
* Add environment-based TLS configuration for Scaling Engine in eventgenerator
* Refactor GetOrgGuid function to streamline JSON unmarshalling and error handling
* Replace custom contains function with slices.Contains from the standard library in cf.go
* Remove Klauspost compression dependencies from eventgenerator and metricsforwarder specs
* Refactor TLS certificate configuration for autoscaler components
• Remove direct os package usage for TLS certificate configuration in autoscaler components.
• Centralize TLS certificate retrieval using GetInstanceTLSCerts method from VCAPConfigurationReader.
• Update tests to reflect changes in TLS certificate configuration and remove redundant environment
variable settings.
* Remove VCAP_SERVICES logcache credentials loading test from eventgenerator config tests
* Add cpuinfo internal package to metricsforwarder autoscaler dependencies
* WIP: Refactor config test
* Improve logging message for ignored scaling when instance count is correct
* Add default instance configuration for EVENTGENERATOR and align instance count with EVENTGENERATOR_INSTANCES variable
T
* Refactor test"
* Add GinkgoHelper call to RunningInstances function in acceptance tests
* Set default server port to 0 and enable plain text logging in VCAP config
- Initialize Server.Port to 0 in both API and EventGenerator VCAP configurations
- Enable plain text logging for EventGenerator when running on CF
- Update tests to reflect new default values and logging configuration
* Refactor configureStoredProcedureDb to private method and update tests
• Change ConfigureStoredProcedureDb to unexported configureStoredProcedureDb.
• Remove tests for ConfigureStoredProcedureDb as the method is now private.
• Adjust ConfigureDatabases tests to account for changes in stored procedure configuration.
• Remove outdated tests related to storedProcedure_db service when cred_helper_impl is stored_procedure or default.
• Update test helpers to use any type alias for JSON unmarshalling.
* Remove redundant ServerConfig type from eventgenerator config
* Remove ConfigureStoredProcedureDb method from VCAPConfigurationReader interface in cf.go
* Fix flaky test
* Removes unecessary logout
* Rename node_count and node_index to total_instances and instance_index
* Refactor: simplify NewAppManager signature
* Remove unused fixture
* Remove instances from mta tpl
* Remove unused method
* Set BOSH server port to 0 to avoid conflicts and enable plain text logging in autoscaler configs
* Makes ConfigureDb a a private method
* Fix issue in eventgenerator main cmd
* Remove deployment name from github actions to resolve through ENABLE_MTAR flag
* Updated bash shebang in common.sh and modified package versions in devbox.lock
* Update devbox.lock
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Fix deployment issue with github actions
* Update acceptance test workflows to conditionally deploy apps and require deploy_apps parameter
• Add deploy_apps input with default false to acceptance_tests_broker.yaml
• Make deploy_apps input required in acceptance_tests_reusable.yaml
• Use conditional logic to set ENABLE_MTAR environment variable based on deploy_apps input
• Include environment variables output before running deploy-register-cf command in acceptance_tests_reusable.yaml
* Adds debugging to github actions
* Update GitHub Actions to dynamically set deployment names based on PR number
- Add `deployment_name` input to acceptance_tests_reusable workflow for dynamic naming
- Set `DEPLOYMENT_NAME` env variable in acceptance_tests_broker, acceptance_tests_broker_close, acceptance_tests_mta, and acceptance_tests_mta_close workflows using PR number
- Remove commented code and unused `DEBUG` env variable in acceptance_tests_reusable workflow
- Refactor `ENABLE_MTAR` to be set based on `deploy_apps` input in acceptance_tests_reusable workflow
* Rename appManager files and refactor test policy string in tests
- Rename appManager.go to app_manager.go
- Rename appManager_test.go to app_manager_test.go
- Replace inline policy string with const testPolicyStr in tests
- Introduce newAppMetric helper function to simplify metric creation in tests
* Refactor app_manager_test.go by moving "Save and query metrics" tests
- Relocate "Save and query metrics" context block to a different section within app_manager_test.go
- Maintain logical test structure and ensure all tests remain unchanged
* Refactor variable names and improve health check authentication in autoscaler
- Rename `cfg` to `conf` for consistency across test suites
- Update HTTP client variable names for clarity in `api_test.go`
- Add `CheckHealthAuth` helper function to streamline health endpoint authentication tests
- Utilize `CheckHealthAuth` in `eventgenerator_test.go` for cleaner authentication checks
- Remove redundant `BeforeEach` blocks and direct `runner.Start()` calls in favor of `JustBeforeEach`
- Adjust health metric string checks to use more generic substrings
* Refactor app_manager_test.go to use Gomega's HaveExactKeys matcher and When blocks
- Replace Context blocks with When for better readability
- Utilize HaveExactKeys custom matcher to simplify policy retrieval assertions
- Remove redundant clock increment and policy existence checks
* Remove autoscaling API setup from os-infrastructure-login script
* Add deferred clt push osing of response body in health endpoint test helper
* Remove autoscaling-api setup from cf_login in common.sh
* Remove eventgenerator-config and database dependencies from metricsforwarder module in build-extension-file.sh
* Add nixpkgs-unstable source and update plugin versions for mysql and python
* Disable shellcheck SC2154 warning in common.sh for autoscaler scripts
* Optimize TLS certificate retrieval in loadVcapConfig function
* Bump module instances
* Set default instances parameter to 0 in autoscaler module parameters, to be overridden in build script
* Refactor ToJSON function from config to configutil module
• Remove ToJSON method from Config structs in api and eventgenerator modules
• Add generic ToJSON function in configutil module to handle JSON marshaling
• Update tests and usages to call configutil.ToJSON instead of Config's ToJSON
• Remove redundant tests for ToJSON in api/config after refactoring
* Refactor eventgenerator config loading and update VCAP_SERVICES structure
• Replace interface{} with any in VCAP_SERVICES map
• Remove redundant logcache-client TODO comment
• Move YAML file loading to helpers.LoadYamlFile
• Remove unused os import from config.go
* Removed eventgenerator cmd test when running in CF
We should reframe from adding complexity/tests to the cmd and relay on
integration and acceptance instead.
main.go should have as less logic as possible.
* Ensure proper handling of script arguments by quoting "$@"
* Added sourcing of vars.source.sh and updated bosh_login call with BBL_STATE_PATH in uaa-login.sh
* Remove unused vcapPort variable from eventgenerator tests
* Refactor error handling to use shared ErrReadYaml from helpers in eventgenerator config.
* Remove unnecessary newline in LoadConfig function of eventgenerator config
* Wip
* Wip
* Add configutil and new vendor dependencies, refactor operator config
• Introduce autoscaler/configutil/* for configuration utilities.
• Add new vendor dependencies: github.com/cloud-gov/go-cfenv and github.com/mitchellh/mapstructure.
• Refactor operator configuration to use a map for database configs, simplifying AppMetricsDB,
ScalingEngineDB, and DBLock structures.
• Update WriteYmlConfig function parameter type to any.
* Renamed app_metrics_db to appmetrics_db and scaling_engine_db to scalingengine_db in various configuration
files and tests. Updated operator.yml.erb and eventgenerator.yml.erb templates to reflect these changes.
Adjusted operator config and test files to align with the new database configuration keys.
* Refactor TLS client certificate assignment in autoscaler operator config loading
* Remove exampleconfig/example.yml from autoscaler operator directory
* Fix lint
* Fix rspec
* Remove unused code
* Remove username and password from Postgres URLs in config files
* Remove code duplication
* Refactor tests
* Remove health server basic auth tests from operator_test.go
* Refactor operator test configuration variable name and update health check tests
- Rename `cfg` to `conf` in operator test files for consistency
- Replace direct health check HTTP requests with `testhelpers.CheckHealthAuth` utility function
- Adjust `loadVcapConfig` function to move `tlsCerts` declaration closer to usage
* Refactor policy DB initialization and improve error handling in operator main
• Refactor policy DB initialization to handle errors and improve logging upon connection failure.
• Update operator tests to use table-driven approach for testing DB connection failures.
* Refactor test descriptions from Context to When in config_test.go
* Remove testhelpers dependency and update health check functions in scalingengine tests
* Fix broken test
---------
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>1 parent 3673a92 commit 97c3dce
File tree
32 files changed
+945
-811
lines changed- jobs
- eventgenerator/templates
- operator/templates
- operations
- packages/operator
- spec/jobs
- eventgenerator
- operator
- src/autoscaler
- api
- cmd/api
- config
- configutil
- db
- eventgenerator
- cmd/eventgenerator
- config
- integration
- operator
- cmd/operator
- config
- testdata
- exampleconfig
- scalingengine/cmd/scalingengine
- testhelpers
32 files changed
+945
-811
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
583 | 583 | | |
584 | 584 | | |
585 | 585 | | |
586 | | - | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
587 | 618 | | |
588 | 619 | | |
589 | 620 | | |
| |||
1259 | 1290 | | |
1260 | 1291 | | |
1261 | 1292 | | |
1262 | | - | |
| 1293 | + | |
1263 | 1294 | | |
1264 | 1295 | | |
1265 | 1296 | | |
| |||
1503 | 1534 | | |
1504 | 1535 | | |
1505 | 1536 | | |
1506 | | - | |
| 1537 | + | |
1507 | 1538 | | |
1508 | 1539 | | |
1509 | 1540 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | | - | |
57 | | - | |
58 | 56 | | |
59 | 57 | | |
60 | 58 | | |
| |||
72 | 70 | | |
73 | 71 | | |
74 | 72 | | |
75 | | - | |
76 | | - | |
| 73 | + | |
| 74 | + | |
77 | 75 | | |
78 | 76 | | |
79 | 77 | | |
80 | 78 | | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
| 79 | + | |
86 | 80 | | |
87 | 81 | | |
88 | 82 | | |
89 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
90 | 100 | | |
91 | 101 | | |
92 | 102 | | |
| |||
107 | 117 | | |
108 | 118 | | |
109 | 119 | | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | 120 | | |
116 | 121 | | |
117 | 122 | | |
118 | 123 | | |
119 | 124 | | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 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 | | - | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
55 | 54 | | |
56 | 55 | | |
57 | 56 | | |
58 | 57 | | |
59 | | - | |
| 58 | + | |
60 | 59 | | |
61 | 60 | | |
62 | 61 | | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| 33 | + | |
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
| |||
55 | 57 | | |
56 | 58 | | |
57 | 59 | | |
| 60 | + | |
58 | 61 | | |
59 | 62 | | |
60 | 63 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
| 122 | + | |
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
129 | | - | |
| 129 | + | |
130 | 130 | | |
131 | 131 | | |
132 | 132 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | | - | |
| 65 | + | |
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
| 73 | + | |
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
80 | | - | |
| 80 | + | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
168 | 168 | | |
169 | 169 | | |
170 | 170 | | |
| 171 | + | |
171 | 172 | | |
172 | 173 | | |
173 | 174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
50 | | - | |
| 50 | + | |
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| |||
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
| 210 | + | |
210 | 211 | | |
211 | 212 | | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | | - | |
221 | | - | |
222 | | - | |
223 | | - | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
224 | 217 | | |
225 | 218 | | |
226 | 219 | | |
| |||
234 | 227 | | |
235 | 228 | | |
236 | 229 | | |
237 | | - | |
| 230 | + | |
238 | 231 | | |
239 | 232 | | |
240 | 233 | | |
241 | 234 | | |
242 | 235 | | |
243 | | - | |
| 236 | + | |
244 | 237 | | |
245 | 238 | | |
246 | 239 | | |
| |||
0 commit comments