@senior-gestao-empresarial/erpx-components 4.19.0 → 4.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (20) hide show
  1. package/bundles/senior-gestao-empresarial-erpx-components.umd.js +72 -83
  2. package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -1
  3. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +1 -1
  4. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -1
  5. package/esm2015/components/tributos/erp-tributos.component.js +4 -1
  6. package/esm2015/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +47 -35
  7. package/esm2015/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +5 -11
  8. package/esm2015/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +4 -10
  9. package/esm2015/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +4 -10
  10. package/esm5/components/tributos/erp-tributos.component.js +4 -1
  11. package/esm5/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +63 -59
  12. package/esm5/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +5 -11
  13. package/esm5/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +4 -10
  14. package/esm5/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +4 -10
  15. package/fesm2015/senior-gestao-empresarial-erpx-components.js +57 -60
  16. package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -1
  17. package/fesm5/senior-gestao-empresarial-erpx-components.js +73 -84
  18. package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -1
  19. package/package.json +1 -1
  20. package/senior-gestao-empresarial-erpx-components.metadata.json +1 -1
@@ -2027,23 +2027,24 @@
2027
2027
  var name = _a.name;
2028
2028
  return name === exports.EnumTipoTributo.IBS_ESTORNO_CREDITO;
2029
2029
  }), ibsEstornoCreditoFormGroup = _c.formGroup, ibsEstornoCreditoFormField = _c.formField;
2030
- var dataKey_2 = ibsEstornoCreditoFormField.find(function (_a) {
2030
+ var classificacaoTributariaDataKey_1 = ibsEstornoCreditoFormField.find(function (_a) {
2031
2031
  var name = _a.name;
2032
2032
  return name === 'classificacaoTributaria';
2033
2033
  }).dataKey;
2034
- rxjs.combineLatest([
2035
- ibsEstornoCreditoFormGroup
2036
- .get('classificacaoTributaria')
2037
- .valueChanges.pipe(operators.startWith(ibsEstornoCreditoFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
2038
- return (old === null || old === void 0 ? void 0 : old[dataKey_2]) === (current === null || current === void 0 ? void 0 : current[dataKey_2]);
2039
- }))
2040
- ])
2041
- .pipe(operators.skip(1), operators.map(function (_a) {
2042
- var _b = __read(_a, 1), taxClassification = _b[0];
2043
- return [taxClassification];
2034
+ var situacaoTributariaDataKey_1 = formField.find(function (field) { return field.name === 'situacaoTributaria'; }).dataKey;
2035
+ rxjs.merge(ibsEstornoCreditoFormGroup
2036
+ .get('classificacaoTributaria')
2037
+ .valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2038
+ return (old === null || old === void 0 ? void 0 : old[classificacaoTributariaDataKey_1]) === (current === null || current === void 0 ? void 0 : current[classificacaoTributariaDataKey_1]);
2039
+ })), formGroup.get('situacaoTributaria').valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2040
+ return (old === null || old === void 0 ? void 0 : old[situacaoTributariaDataKey_1]) === (current === null || current === void 0 ? void 0 : current[situacaoTributariaDataKey_1]);
2041
+ }), operators.map(function () { return null; })))
2042
+ .pipe(operators.filter(function (taxClassification) {
2043
+ var _a;
2044
+ return (taxClassification === null || taxClassification === void 0 ? void 0 : taxClassification.id) !== ((_a = formGroup.get('classificacaoTributaria')
2045
+ .value) === null || _a === void 0 ? void 0 : _a.id);
2044
2046
  }))
2045
- .subscribe(function (_a) {
2046
- var _b = __read(_a, 1), taxClassification = _b[0];
2047
+ .subscribe(function (taxClassification) {
2047
2048
  formGroup
2048
2049
  .get('classificacaoTributaria')
2049
2050
  .setValue(taxClassification);
@@ -2056,23 +2057,24 @@
2056
2057
  var name = _a.name;
2057
2058
  return name === exports.EnumTipoTributo.CBS_ESTORNO_CREDITO;
2058
2059
  }), cbsEstornoCreditoFormGroup = _d.formGroup, cbsEstornoCreditoFormField = _d.formField;
2059
- var dataKey_3 = cbsEstornoCreditoFormField.find(function (_a) {
2060
+ var classificacaoTributariaDataKey_2 = cbsEstornoCreditoFormField.find(function (_a) {
2060
2061
  var name = _a.name;
2061
2062
  return name === 'classificacaoTributaria';
2062
2063
  }).dataKey;
2063
- rxjs.combineLatest([
2064
- cbsEstornoCreditoFormGroup
2065
- .get('classificacaoTributaria')
2066
- .valueChanges.pipe(operators.startWith(cbsEstornoCreditoFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
2067
- return (old === null || old === void 0 ? void 0 : old[dataKey_3]) === (current === null || current === void 0 ? void 0 : current[dataKey_3]);
2068
- }))
2069
- ])
2070
- .pipe(operators.skip(1), operators.map(function (_a) {
2071
- var _b = __read(_a, 1), taxClassification = _b[0];
2072
- return [taxClassification];
2064
+ var situacaoTributariaDataKey_2 = formField.find(function (field) { return field.name === 'situacaoTributaria'; }).dataKey;
2065
+ rxjs.merge(cbsEstornoCreditoFormGroup
2066
+ .get('classificacaoTributaria')
2067
+ .valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2068
+ return (old === null || old === void 0 ? void 0 : old[classificacaoTributariaDataKey_2]) === (current === null || current === void 0 ? void 0 : current[classificacaoTributariaDataKey_2]);
2069
+ })), formGroup.get('situacaoTributaria').valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2070
+ return (old === null || old === void 0 ? void 0 : old[situacaoTributariaDataKey_2]) === (current === null || current === void 0 ? void 0 : current[situacaoTributariaDataKey_2]);
2071
+ }), operators.map(function () { return null; })))
2072
+ .pipe(operators.filter(function (taxClassification) {
2073
+ var _a;
2074
+ return (taxClassification === null || taxClassification === void 0 ? void 0 : taxClassification.id) !== ((_a = formGroup.get('classificacaoTributaria')
2075
+ .value) === null || _a === void 0 ? void 0 : _a.id);
2073
2076
  }))
2074
- .subscribe(function (_a) {
2075
- var _b = __read(_a, 1), taxClassification = _b[0];
2077
+ .subscribe(function (taxClassification) {
2076
2078
  formGroup
2077
2079
  .get('classificacaoTributaria')
2078
2080
  .setValue(taxClassification);
@@ -2085,7 +2087,7 @@
2085
2087
  var name = _a.name;
2086
2088
  return name === exports.EnumTipoTributo.IBS_AJUSTE;
2087
2089
  }), ibsAjusteFormGroup = _e.formGroup, ibsAjusteFormField = _e.formField;
2088
- var dataKey_4 = ibsAjusteFormField.find(function (_a) {
2090
+ var dataKey_2 = ibsAjusteFormField.find(function (_a) {
2089
2091
  var name = _a.name;
2090
2092
  return name === 'classificacaoTributaria';
2091
2093
  }).dataKey;
@@ -2093,7 +2095,7 @@
2093
2095
  ibsAjusteFormGroup
2094
2096
  .get('classificacaoTributaria')
2095
2097
  .valueChanges.pipe(operators.startWith(ibsAjusteFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
2096
- return (old === null || old === void 0 ? void 0 : old[dataKey_4]) === (current === null || current === void 0 ? void 0 : current[dataKey_4]);
2098
+ return (old === null || old === void 0 ? void 0 : old[dataKey_2]) === (current === null || current === void 0 ? void 0 : current[dataKey_2]);
2097
2099
  }))
2098
2100
  ])
2099
2101
  .pipe(operators.skip(1), operators.map(function (_a) {
@@ -2114,7 +2116,7 @@
2114
2116
  var name = _a.name;
2115
2117
  return name === exports.EnumTipoTributo.CBS_AJUSTE;
2116
2118
  }), cbsAjusteFormGroup = _f.formGroup, cbsAjusteFormField = _f.formField;
2117
- var dataKey_5 = cbsAjusteFormField.find(function (_a) {
2119
+ var dataKey_3 = cbsAjusteFormField.find(function (_a) {
2118
2120
  var name = _a.name;
2119
2121
  return name === 'classificacaoTributaria';
2120
2122
  }).dataKey;
@@ -2122,7 +2124,7 @@
2122
2124
  cbsAjusteFormGroup
2123
2125
  .get('classificacaoTributaria')
2124
2126
  .valueChanges.pipe(operators.startWith(cbsAjusteFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
2125
- return (old === null || old === void 0 ? void 0 : old[dataKey_5]) === (current === null || current === void 0 ? void 0 : current[dataKey_5]);
2127
+ return (old === null || old === void 0 ? void 0 : old[dataKey_3]) === (current === null || current === void 0 ? void 0 : current[dataKey_3]);
2126
2128
  }))
2127
2129
  ])
2128
2130
  .pipe(operators.skip(1), operators.map(function (_a) {
@@ -2143,23 +2145,24 @@
2143
2145
  var name = _a.name;
2144
2146
  return name === exports.EnumTipoTributo.IBS_TRANSFERENCIA_CREDITO;
2145
2147
  }), ibsTransferenciaCreditoFormGroup = _g.formGroup, ibsTransferenciaCreditoFormField = _g.formField;
2146
- var dataKey_6 = ibsTransferenciaCreditoFormField.find(function (_a) {
2148
+ var classificacaoTributariaDataKey_3 = ibsTransferenciaCreditoFormField.find(function (_a) {
2147
2149
  var name = _a.name;
2148
2150
  return name === 'classificacaoTributaria';
2149
2151
  }).dataKey;
2150
- rxjs.combineLatest([
2151
- ibsTransferenciaCreditoFormGroup
2152
- .get('classificacaoTributaria')
2153
- .valueChanges.pipe(operators.startWith(ibsTransferenciaCreditoFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
2154
- return (old === null || old === void 0 ? void 0 : old[dataKey_6]) === (current === null || current === void 0 ? void 0 : current[dataKey_6]);
2155
- }))
2156
- ])
2157
- .pipe(operators.skip(1), operators.map(function (_a) {
2158
- var _b = __read(_a, 1), taxClassification = _b[0];
2159
- return [taxClassification];
2152
+ var situacaoTributariaDataKey_3 = formField.find(function (field) { return field.name === 'situacaoTributaria'; }).dataKey;
2153
+ rxjs.merge(ibsTransferenciaCreditoFormGroup
2154
+ .get('classificacaoTributaria')
2155
+ .valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2156
+ return (old === null || old === void 0 ? void 0 : old[classificacaoTributariaDataKey_3]) === (current === null || current === void 0 ? void 0 : current[classificacaoTributariaDataKey_3]);
2157
+ })), formGroup.get('situacaoTributaria').valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2158
+ return (old === null || old === void 0 ? void 0 : old[situacaoTributariaDataKey_3]) === (current === null || current === void 0 ? void 0 : current[situacaoTributariaDataKey_3]);
2159
+ }), operators.map(function () { return null; })))
2160
+ .pipe(operators.filter(function (taxClassification) {
2161
+ var _a;
2162
+ return (taxClassification === null || taxClassification === void 0 ? void 0 : taxClassification.id) !== ((_a = formGroup.get('classificacaoTributaria')
2163
+ .value) === null || _a === void 0 ? void 0 : _a.id);
2160
2164
  }))
2161
- .subscribe(function (_a) {
2162
- var _b = __read(_a, 1), taxClassification = _b[0];
2165
+ .subscribe(function (taxClassification) {
2163
2166
  formGroup
2164
2167
  .get('classificacaoTributaria')
2165
2168
  .setValue(taxClassification);
@@ -2172,23 +2175,24 @@
2172
2175
  var name = _a.name;
2173
2176
  return name === exports.EnumTipoTributo.CBS_TRANSFERENCIA_CREDITO;
2174
2177
  }), cbsTransferenciaCreditoFormGroup = _h.formGroup, cbsTransferenciaCreditoFormField = _h.formField;
2175
- var dataKey_7 = cbsTransferenciaCreditoFormField.find(function (_a) {
2178
+ var classificacaoTributariaDataKey_4 = cbsTransferenciaCreditoFormField.find(function (_a) {
2176
2179
  var name = _a.name;
2177
2180
  return name === 'classificacaoTributaria';
2178
2181
  }).dataKey;
2179
- rxjs.combineLatest([
2180
- cbsTransferenciaCreditoFormGroup
2181
- .get('classificacaoTributaria')
2182
- .valueChanges.pipe(operators.startWith(cbsTransferenciaCreditoFormGroup.get('classificacaoTributaria').value), operators.distinctUntilChanged(function (old, current) {
2183
- return (old === null || old === void 0 ? void 0 : old[dataKey_7]) === (current === null || current === void 0 ? void 0 : current[dataKey_7]);
2184
- }))
2185
- ])
2186
- .pipe(operators.skip(1), operators.map(function (_a) {
2187
- var _b = __read(_a, 1), taxClassification = _b[0];
2188
- return [taxClassification];
2182
+ var situacaoTributariaDataKey_4 = formField.find(function (field) { return field.name === 'situacaoTributaria'; }).dataKey;
2183
+ rxjs.merge(cbsTransferenciaCreditoFormGroup
2184
+ .get('classificacaoTributaria')
2185
+ .valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2186
+ return (old === null || old === void 0 ? void 0 : old[classificacaoTributariaDataKey_4]) === (current === null || current === void 0 ? void 0 : current[classificacaoTributariaDataKey_4]);
2187
+ })), formGroup.get('situacaoTributaria').valueChanges.pipe(operators.distinctUntilChanged(function (old, current) {
2188
+ return (old === null || old === void 0 ? void 0 : old[situacaoTributariaDataKey_4]) === (current === null || current === void 0 ? void 0 : current[situacaoTributariaDataKey_4]);
2189
+ }), operators.map(function () { return null; })))
2190
+ .pipe(operators.filter(function (taxClassification) {
2191
+ var _a;
2192
+ return (taxClassification === null || taxClassification === void 0 ? void 0 : taxClassification.id) !== ((_a = formGroup.get('classificacaoTributaria')
2193
+ .value) === null || _a === void 0 ? void 0 : _a.id);
2189
2194
  }))
2190
- .subscribe(function (_a) {
2191
- var _b = __read(_a, 1), taxClassification = _b[0];
2195
+ .subscribe(function (taxClassification) {
2192
2196
  formGroup
2193
2197
  .get('classificacaoTributaria')
2194
2198
  .setValue(taxClassification);
@@ -15498,11 +15502,7 @@
15498
15502
  case 'Incoming Invoice':
15499
15503
  case 'Purchase Order':
15500
15504
  {
15501
- var baseTaxFormGroup = getBaseTaxItemFromGroup({ group: group }).formGroup;
15502
15505
  rxjs.combineLatest([
15503
- baseTaxFormGroup
15504
- .get('baseCalculo')
15505
- .valueChanges.pipe(operators.startWith(baseTaxFormGroup.get('baseCalculo').value), operators.distinctUntilChanged()),
15506
15506
  formGroup
15507
15507
  .get('baseCalculo')
15508
15508
  .valueChanges.pipe(operators.startWith(formGroup.get('baseCalculo')
@@ -15515,19 +15515,17 @@
15515
15515
  .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
15516
15516
  ])
15517
15517
  .pipe(operators.map(function (_a) {
15518
- var _b = __read(_a, 4), baseTaxTaxableBase = _b[0], taxableBase = _b[1], taxRate = _b[2], taxAmount = _b[3];
15518
+ var _b = __read(_a, 3), taxableBase = _b[0], taxRate = _b[1], taxAmount = _b[2];
15519
15519
  return [
15520
- new BigNumber(baseTaxTaxableBase),
15521
15520
  new BigNumber(taxableBase),
15522
15521
  new BigNumber(taxRate),
15523
15522
  new BigNumber(taxAmount)
15524
15523
  ];
15525
15524
  }))
15526
15525
  .subscribe(function (_a) {
15527
- var _b = __read(_a, 4), baseTaxTaxableBase = _b[0], taxableBase = _b[1], taxRate = _b[2], taxAmount = _b[3];
15526
+ var _b = __read(_a, 3), taxableBase = _b[0], taxRate = _b[1], taxAmount = _b[2];
15528
15527
  var validators = [];
15529
- if (baseTaxTaxableBase.isFinite() ||
15530
- taxableBase.isFinite() ||
15528
+ if (taxableBase.isFinite() ||
15531
15529
  taxRate.isFinite() ||
15532
15530
  taxAmount.isFinite()) {
15533
15531
  validators = [
@@ -17058,11 +17056,7 @@
17058
17056
  case 'Incoming Invoice':
17059
17057
  case 'Purchase Order':
17060
17058
  {
17061
- var baseTaxFormGroup = getBaseTaxItemFromGroup({ group: group }).formGroup;
17062
17059
  rxjs.combineLatest([
17063
- baseTaxFormGroup
17064
- .get('baseCalculo')
17065
- .valueChanges.pipe(operators.startWith(baseTaxFormGroup.get('baseCalculo').value), operators.distinctUntilChanged()),
17066
17060
  formGroup
17067
17061
  .get('baseCalculo')
17068
17062
  .valueChanges.pipe(operators.startWith(formGroup.get('baseCalculo')
@@ -17075,19 +17069,17 @@
17075
17069
  .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
17076
17070
  ])
17077
17071
  .pipe(operators.map(function (_a) {
17078
- var _b = __read(_a, 4), baseTaxTaxableBase = _b[0], taxableBase = _b[1], taxRate = _b[2], taxAmount = _b[3];
17072
+ var _b = __read(_a, 3), taxableBase = _b[0], taxRate = _b[1], taxAmount = _b[2];
17079
17073
  return [
17080
- new BigNumber(baseTaxTaxableBase),
17081
17074
  new BigNumber(taxableBase),
17082
17075
  new BigNumber(taxRate),
17083
17076
  new BigNumber(taxAmount)
17084
17077
  ];
17085
17078
  }))
17086
17079
  .subscribe(function (_a) {
17087
- var _b = __read(_a, 4), baseTaxTaxableBase = _b[0], taxableBase = _b[1], taxRate = _b[2], taxAmount = _b[3];
17080
+ var _b = __read(_a, 3), taxableBase = _b[0], taxRate = _b[1], taxAmount = _b[2];
17088
17081
  var validators = [];
17089
- if (baseTaxTaxableBase.isFinite() ||
17090
- taxableBase.isFinite() ||
17082
+ if (taxableBase.isFinite() ||
17091
17083
  taxRate.isFinite() ||
17092
17084
  taxAmount.isFinite()) {
17093
17085
  validators = [
@@ -18142,11 +18134,7 @@
18142
18134
  case 'Incoming Invoice':
18143
18135
  case 'Purchase Order':
18144
18136
  {
18145
- var baseTaxFormGroup = getBaseTaxItemFromGroup({ group: group }).formGroup;
18146
18137
  rxjs.combineLatest([
18147
- baseTaxFormGroup
18148
- .get('baseCalculo')
18149
- .valueChanges.pipe(operators.startWith(baseTaxFormGroup.get('baseCalculo').value), operators.distinctUntilChanged()),
18150
18138
  formGroup
18151
18139
  .get('baseCalculo')
18152
18140
  .valueChanges.pipe(operators.startWith(formGroup.get('baseCalculo')
@@ -18159,19 +18147,17 @@
18159
18147
  .valueChanges.pipe(operators.startWith(formGroup.get('valor').value), operators.distinctUntilChanged())
18160
18148
  ])
18161
18149
  .pipe(operators.map(function (_a) {
18162
- var _b = __read(_a, 4), baseTaxTaxableBase = _b[0], taxableBase = _b[1], taxRate = _b[2], taxAmount = _b[3];
18150
+ var _b = __read(_a, 3), taxableBase = _b[0], taxRate = _b[1], taxAmount = _b[2];
18163
18151
  return [
18164
- new BigNumber(baseTaxTaxableBase),
18165
18152
  new BigNumber(taxableBase),
18166
18153
  new BigNumber(taxRate),
18167
18154
  new BigNumber(taxAmount)
18168
18155
  ];
18169
18156
  }))
18170
18157
  .subscribe(function (_a) {
18171
- var _b = __read(_a, 4), baseTaxTaxableBase = _b[0], taxableBase = _b[1], taxRate = _b[2], taxAmount = _b[3];
18158
+ var _b = __read(_a, 3), taxableBase = _b[0], taxRate = _b[1], taxAmount = _b[2];
18172
18159
  var validators = [];
18173
- if (baseTaxTaxableBase.isFinite() ||
18174
- taxableBase.isFinite() ||
18160
+ if (taxableBase.isFinite() ||
18175
18161
  taxRate.isFinite() ||
18176
18162
  taxAmount.isFinite()) {
18177
18163
  validators = [
@@ -29477,18 +29463,21 @@
29477
29463
  case exports.EnumTipoTributo.CIDE_TECNOLOGIA:
29478
29464
  return 'cide';
29479
29465
  case exports.EnumTipoTributo.CBS:
29466
+ case exports.EnumTipoTributo.CBS_A_APROPRIAR:
29480
29467
  case exports.EnumTipoTributo.CBS_DIFERIDO:
29481
29468
  case exports.EnumTipoTributo.CBS_CREDITO_PRESUMIDO:
29482
29469
  case exports.EnumTipoTributo.CBS_TRIBUTACAO_REGULAR:
29483
29470
  case exports.EnumTipoTributo.CBS_GOVERNAMENTAL:
29484
29471
  return 'cbs';
29485
29472
  case exports.EnumTipoTributo.IBS_ESTADUAL:
29473
+ case exports.EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR:
29486
29474
  case exports.EnumTipoTributo.IBS_ESTADUAL_DIFERIDO:
29487
29475
  case exports.EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR:
29488
29476
  case exports.EnumTipoTributo.IBS_CREDITO_PRESUMIDO:
29489
29477
  case exports.EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL:
29490
29478
  return 'ibs-estadual';
29491
29479
  case exports.EnumTipoTributo.IBS_MUNICIPAL:
29480
+ case exports.EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR:
29492
29481
  case exports.EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO:
29493
29482
  case exports.EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR:
29494
29483
  case exports.EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL: