layer 1.0.38__tar.gz → 1.0.45__tar.gz
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.
- {layer-1.0.38 → layer-1.0.45}/PKG-INFO +1 -1
- {layer-1.0.38 → layer-1.0.45}/pyproject.toml +1 -1
- {layer-1.0.38 → layer-1.0.45}/pyproject.toml.orig +1 -1
- {layer-1.0.38 → layer-1.0.45}/src/layer/_api/models.py +236 -2
- {layer-1.0.38 → layer-1.0.45}/README.md +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/__init__.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/__main__.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_api/__init__.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_api/client.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/__init__.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/auth_commands.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/base_model_commands.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/context.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/context_commands.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/generate_commands.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/main.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/_cli/output.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/auth.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/catalog.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/config.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/credentials.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/download.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/exit_codes.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/generate.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/oauth.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/params.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/sessions.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/sse.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/uploads.py +0 -0
- {layer-1.0.38 → layer-1.0.45}/src/layer/workspaces.py +0 -0
|
@@ -402,6 +402,86 @@ class PromptStrength1(RootModel[float]):
|
|
|
402
402
|
)
|
|
403
403
|
|
|
404
404
|
|
|
405
|
+
class VectorizationFilterSpeckle(RootModel[int]):
|
|
406
|
+
root: int = Field(
|
|
407
|
+
...,
|
|
408
|
+
description="Drop specks smaller than this many pixels. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
409
|
+
ge=0,
|
|
410
|
+
le=20,
|
|
411
|
+
title="Vectorization Filter Speckle",
|
|
412
|
+
)
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
class VectorizationColorPrecision(RootModel[int]):
|
|
416
|
+
root: int = Field(
|
|
417
|
+
...,
|
|
418
|
+
description="Color quantization level; lower merges more colors. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
419
|
+
ge=1,
|
|
420
|
+
le=10,
|
|
421
|
+
title="Vectorization Color Precision",
|
|
422
|
+
)
|
|
423
|
+
|
|
424
|
+
|
|
425
|
+
class VectorizationLayerDifference(RootModel[int]):
|
|
426
|
+
root: int = Field(
|
|
427
|
+
...,
|
|
428
|
+
description="Color difference that splits gradient layers. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
429
|
+
ge=1,
|
|
430
|
+
le=32,
|
|
431
|
+
title="Vectorization Layer Difference",
|
|
432
|
+
)
|
|
433
|
+
|
|
434
|
+
|
|
435
|
+
class VectorizationCornerThreshold(RootModel[int]):
|
|
436
|
+
root: int = Field(
|
|
437
|
+
...,
|
|
438
|
+
description="Minimum angle, in degrees, kept as a sharp corner (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
439
|
+
ge=0,
|
|
440
|
+
le=180,
|
|
441
|
+
title="Vectorization Corner Threshold",
|
|
442
|
+
)
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
class VectorizationLengthThreshold(RootModel[float]):
|
|
446
|
+
root: float = Field(
|
|
447
|
+
...,
|
|
448
|
+
description="Longest curve segment before it is subdivided (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
449
|
+
ge=0.0,
|
|
450
|
+
le=10.0,
|
|
451
|
+
title="Vectorization Length Threshold",
|
|
452
|
+
)
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
class VectorizationSpliceThreshold(RootModel[int]):
|
|
456
|
+
root: int = Field(
|
|
457
|
+
...,
|
|
458
|
+
description="Angle, in degrees, at which a curve is split (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
459
|
+
ge=0,
|
|
460
|
+
le=90,
|
|
461
|
+
title="Vectorization Splice Threshold",
|
|
462
|
+
)
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
class VectorizationMaxIterations(RootModel[int]):
|
|
466
|
+
root: int = Field(
|
|
467
|
+
...,
|
|
468
|
+
description="Curve-fitting passes. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
469
|
+
ge=1,
|
|
470
|
+
le=20,
|
|
471
|
+
title="Vectorization Max Iterations",
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
|
|
475
|
+
class VectorizationPathPrecision(RootModel[int]):
|
|
476
|
+
root: int = Field(
|
|
477
|
+
...,
|
|
478
|
+
description="Decimal places kept in SVG path coordinates. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
479
|
+
ge=1,
|
|
480
|
+
le=10,
|
|
481
|
+
title="Vectorization Path Precision",
|
|
482
|
+
)
|
|
483
|
+
|
|
484
|
+
|
|
405
485
|
class CameraTrajectory(RootModel[list[CameraTrajectoryKeyframe]]):
|
|
406
486
|
root: list[CameraTrajectoryKeyframe] = Field(
|
|
407
487
|
...,
|
|
@@ -705,6 +785,7 @@ class GuidanceFileType(Enum):
|
|
|
705
785
|
element_frontal_image = "element_frontal_image"
|
|
706
786
|
element_reference_image = "element_reference_image"
|
|
707
787
|
element_video = "element_video"
|
|
788
|
+
draft_world = "draft_world"
|
|
708
789
|
init_audio = "init_audio"
|
|
709
790
|
reference_audio = "reference_audio"
|
|
710
791
|
|
|
@@ -749,6 +830,7 @@ class InferenceUseCase(Enum):
|
|
|
749
830
|
motion_transfer = "motion_transfer"
|
|
750
831
|
video_object_swap = "video_object_swap"
|
|
751
832
|
video_character_swap = "video_character_swap"
|
|
833
|
+
relight_video = "relight_video"
|
|
752
834
|
image_to_video_lipsync = "image_to_video_lipsync"
|
|
753
835
|
text_to_3d = "text_to_3d"
|
|
754
836
|
image_to_3d = "image_to_3d"
|
|
@@ -769,12 +851,20 @@ class InferenceUseCase(Enum):
|
|
|
769
851
|
denoise_image = "denoise_image"
|
|
770
852
|
denoise_video = "denoise_video"
|
|
771
853
|
denoise_audio = "denoise_audio"
|
|
854
|
+
audio_separation = "audio_separation"
|
|
772
855
|
deblur_video = "deblur_video"
|
|
773
856
|
restore_image = "restore_image"
|
|
774
857
|
sdr_to_hdr_video = "sdr_to_hdr_video"
|
|
775
858
|
background_removal = "background_removal"
|
|
776
859
|
vectorization = "vectorization"
|
|
777
860
|
virtual_try_on = "virtual_try_on"
|
|
861
|
+
restyle = "restyle"
|
|
862
|
+
pixelate = "pixelate"
|
|
863
|
+
colorize = "colorize"
|
|
864
|
+
change_expression = "change_expression"
|
|
865
|
+
erase_object = "erase_object"
|
|
866
|
+
edit_text = "edit_text"
|
|
867
|
+
dub_video = "dub_video"
|
|
778
868
|
generate_pbr_materials = "generate_pbr_materials"
|
|
779
869
|
complete_draft = "complete_draft"
|
|
780
870
|
|
|
@@ -1461,6 +1551,21 @@ class ValidationError(BaseModel):
|
|
|
1461
1551
|
ctx: dict[str, Any] | None = Field(None, title="Context")
|
|
1462
1552
|
|
|
1463
1553
|
|
|
1554
|
+
class VectorizationColorMode(Enum):
|
|
1555
|
+
color = "color"
|
|
1556
|
+
binary = "binary"
|
|
1557
|
+
|
|
1558
|
+
|
|
1559
|
+
class VectorizationLayering(Enum):
|
|
1560
|
+
stacked = "stacked"
|
|
1561
|
+
cutout = "cutout"
|
|
1562
|
+
|
|
1563
|
+
|
|
1564
|
+
class VectorizationMode(Enum):
|
|
1565
|
+
spline = "spline"
|
|
1566
|
+
polygon = "polygon"
|
|
1567
|
+
|
|
1568
|
+
|
|
1464
1569
|
class VideoEffectType(Enum):
|
|
1465
1570
|
general = "general"
|
|
1466
1571
|
orbit_360 = "orbit_360"
|
|
@@ -1934,6 +2039,11 @@ class BaseModelCapabilitiesREST(BaseModel):
|
|
|
1934
2039
|
rigging: bool | None = Field(False, title="Rigging")
|
|
1935
2040
|
animation: bool | None = Field(False, title="Animation")
|
|
1936
2041
|
camera_transform: bool | None = Field(False, title="Camera Transform")
|
|
2042
|
+
draft: bool | None = Field(
|
|
2043
|
+
False,
|
|
2044
|
+
description="Renders a quick, low-cost draft when `draft` is set, to be completed at full quality later by its completion model (see the forge instructions).",
|
|
2045
|
+
title="Draft",
|
|
2046
|
+
)
|
|
1937
2047
|
camera_trajectory: bool | None = Field(False, title="Camera Trajectory")
|
|
1938
2048
|
voice_changer: bool | None = Field(False, title="Voice Changer")
|
|
1939
2049
|
audio_isolation: bool | None = Field(False, title="Audio Isolation")
|
|
@@ -3184,7 +3294,7 @@ class EstimateInferencePriceV2Request(BaseModel):
|
|
|
3184
3294
|
keep_audio: bool | None = Field(None, description="Keep audio from input video.", title="Keep Audio")
|
|
3185
3295
|
draft: bool | None = Field(
|
|
3186
3296
|
None,
|
|
3187
|
-
description="Render a quick, low-cost draft instead of the full-quality
|
|
3297
|
+
description="Render a quick, low-cost draft instead of the full-quality output, on models whose capabilities report draft. Complete the draft later with the model named by the generating model's draftCompletionModelId, passing the draft file as a DRAFT_VIDEO input (DRAFT_WORLD for a world).",
|
|
3188
3298
|
title="Draft",
|
|
3189
3299
|
)
|
|
3190
3300
|
instrumental: bool | None = Field(
|
|
@@ -3333,6 +3443,58 @@ class EstimateInferencePriceV2Request(BaseModel):
|
|
|
3333
3443
|
title="Color Preservation",
|
|
3334
3444
|
)
|
|
3335
3445
|
vectorize: bool | None = Field(None, description="Vectorize the output image.", title="Vectorize")
|
|
3446
|
+
vectorization_mode: VectorizationMode | None = Field(
|
|
3447
|
+
None,
|
|
3448
|
+
description="SVG path mode: `spline` (curves) or `polygon` (straight lines). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3449
|
+
)
|
|
3450
|
+
vectorization_color_mode: VectorizationColorMode | None = Field(
|
|
3451
|
+
None,
|
|
3452
|
+
description="SVG color output: `color` or `binary` (black and white). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3453
|
+
)
|
|
3454
|
+
vectorization_layering: VectorizationLayering | None = Field(
|
|
3455
|
+
None,
|
|
3456
|
+
description="SVG shape layering in color output: `stacked` (shapes overlap) or `cutout` (no overlap). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3457
|
+
)
|
|
3458
|
+
vectorization_filter_speckle: VectorizationFilterSpeckle | None = Field(
|
|
3459
|
+
None,
|
|
3460
|
+
description="Drop specks smaller than this many pixels. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3461
|
+
title="Vectorization Filter Speckle",
|
|
3462
|
+
)
|
|
3463
|
+
vectorization_color_precision: VectorizationColorPrecision | None = Field(
|
|
3464
|
+
None,
|
|
3465
|
+
description="Color quantization level; lower merges more colors. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3466
|
+
title="Vectorization Color Precision",
|
|
3467
|
+
)
|
|
3468
|
+
vectorization_layer_difference: VectorizationLayerDifference | None = Field(
|
|
3469
|
+
None,
|
|
3470
|
+
description="Color difference that splits gradient layers. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3471
|
+
title="Vectorization Layer Difference",
|
|
3472
|
+
)
|
|
3473
|
+
vectorization_corner_threshold: VectorizationCornerThreshold | None = Field(
|
|
3474
|
+
None,
|
|
3475
|
+
description="Minimum angle, in degrees, kept as a sharp corner (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3476
|
+
title="Vectorization Corner Threshold",
|
|
3477
|
+
)
|
|
3478
|
+
vectorization_length_threshold: VectorizationLengthThreshold | None = Field(
|
|
3479
|
+
None,
|
|
3480
|
+
description="Longest curve segment before it is subdivided (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3481
|
+
title="Vectorization Length Threshold",
|
|
3482
|
+
)
|
|
3483
|
+
vectorization_splice_threshold: VectorizationSpliceThreshold | None = Field(
|
|
3484
|
+
None,
|
|
3485
|
+
description="Angle, in degrees, at which a curve is split (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3486
|
+
title="Vectorization Splice Threshold",
|
|
3487
|
+
)
|
|
3488
|
+
vectorization_max_iterations: VectorizationMaxIterations | None = Field(
|
|
3489
|
+
None,
|
|
3490
|
+
description="Curve-fitting passes. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3491
|
+
title="Vectorization Max Iterations",
|
|
3492
|
+
)
|
|
3493
|
+
vectorization_path_precision: VectorizationPathPrecision | None = Field(
|
|
3494
|
+
None,
|
|
3495
|
+
description="Decimal places kept in SVG path coordinates. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3496
|
+
title="Vectorization Path Precision",
|
|
3497
|
+
)
|
|
3336
3498
|
transparency: bool | None = Field(
|
|
3337
3499
|
None,
|
|
3338
3500
|
description="Put the output on a transparent background. Also accepted as `remove_background`.",
|
|
@@ -3358,6 +3520,16 @@ class EstimateInferencePriceV2Request(BaseModel):
|
|
|
3358
3520
|
None,
|
|
3359
3521
|
description="Relight the init image: one or more orbit lights, each placed by `rotation` (`yaw` around the subject and `pitch` above or below it, in degrees) with an `intensity` and a `color_hex`. Honored by the models whose capabilities report `scene_lighting`.",
|
|
3360
3522
|
)
|
|
3523
|
+
expression: str | None = Field(
|
|
3524
|
+
None,
|
|
3525
|
+
description="The expression a face edit gives the face, one of the names the model's capabilities list under `expressions`.",
|
|
3526
|
+
title="Expression",
|
|
3527
|
+
)
|
|
3528
|
+
target_language: str | None = Field(
|
|
3529
|
+
None,
|
|
3530
|
+
description="The language a dub speaks, as one of the ISO 639-1 codes the model's capabilities list under `dub_languages`.",
|
|
3531
|
+
title="Target Language",
|
|
3532
|
+
)
|
|
3361
3533
|
audio_sections: list[AudioEditSection] | None = Field(
|
|
3362
3534
|
[],
|
|
3363
3535
|
description="Regenerate stretches of the init audio: each section is a window from `start_seconds` to `end_seconds`, measured from the clip's `anchor` (its start by default), that the prompt rewrites while the rest is kept. Honored by the audio models listed for the `inpainting` use case.",
|
|
@@ -3581,7 +3753,7 @@ class ExecuteInferenceV2Request(BaseModel):
|
|
|
3581
3753
|
keep_audio: bool | None = Field(None, description="Keep audio from input video.", title="Keep Audio")
|
|
3582
3754
|
draft: bool | None = Field(
|
|
3583
3755
|
None,
|
|
3584
|
-
description="Render a quick, low-cost draft instead of the full-quality
|
|
3756
|
+
description="Render a quick, low-cost draft instead of the full-quality output, on models whose capabilities report draft. Complete the draft later with the model named by the generating model's draftCompletionModelId, passing the draft file as a DRAFT_VIDEO input (DRAFT_WORLD for a world).",
|
|
3585
3757
|
title="Draft",
|
|
3586
3758
|
)
|
|
3587
3759
|
instrumental: bool | None = Field(
|
|
@@ -3730,6 +3902,58 @@ class ExecuteInferenceV2Request(BaseModel):
|
|
|
3730
3902
|
title="Color Preservation",
|
|
3731
3903
|
)
|
|
3732
3904
|
vectorize: bool | None = Field(None, description="Vectorize the output image.", title="Vectorize")
|
|
3905
|
+
vectorization_mode: VectorizationMode | None = Field(
|
|
3906
|
+
None,
|
|
3907
|
+
description="SVG path mode: `spline` (curves) or `polygon` (straight lines). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3908
|
+
)
|
|
3909
|
+
vectorization_color_mode: VectorizationColorMode | None = Field(
|
|
3910
|
+
None,
|
|
3911
|
+
description="SVG color output: `color` or `binary` (black and white). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3912
|
+
)
|
|
3913
|
+
vectorization_layering: VectorizationLayering | None = Field(
|
|
3914
|
+
None,
|
|
3915
|
+
description="SVG shape layering in color output: `stacked` (shapes overlap) or `cutout` (no overlap). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3916
|
+
)
|
|
3917
|
+
vectorization_filter_speckle: VectorizationFilterSpeckle | None = Field(
|
|
3918
|
+
None,
|
|
3919
|
+
description="Drop specks smaller than this many pixels. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3920
|
+
title="Vectorization Filter Speckle",
|
|
3921
|
+
)
|
|
3922
|
+
vectorization_color_precision: VectorizationColorPrecision | None = Field(
|
|
3923
|
+
None,
|
|
3924
|
+
description="Color quantization level; lower merges more colors. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3925
|
+
title="Vectorization Color Precision",
|
|
3926
|
+
)
|
|
3927
|
+
vectorization_layer_difference: VectorizationLayerDifference | None = Field(
|
|
3928
|
+
None,
|
|
3929
|
+
description="Color difference that splits gradient layers. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3930
|
+
title="Vectorization Layer Difference",
|
|
3931
|
+
)
|
|
3932
|
+
vectorization_corner_threshold: VectorizationCornerThreshold | None = Field(
|
|
3933
|
+
None,
|
|
3934
|
+
description="Minimum angle, in degrees, kept as a sharp corner (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3935
|
+
title="Vectorization Corner Threshold",
|
|
3936
|
+
)
|
|
3937
|
+
vectorization_length_threshold: VectorizationLengthThreshold | None = Field(
|
|
3938
|
+
None,
|
|
3939
|
+
description="Longest curve segment before it is subdivided (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3940
|
+
title="Vectorization Length Threshold",
|
|
3941
|
+
)
|
|
3942
|
+
vectorization_splice_threshold: VectorizationSpliceThreshold | None = Field(
|
|
3943
|
+
None,
|
|
3944
|
+
description="Angle, in degrees, at which a curve is split (spline mode). Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3945
|
+
title="Vectorization Splice Threshold",
|
|
3946
|
+
)
|
|
3947
|
+
vectorization_max_iterations: VectorizationMaxIterations | None = Field(
|
|
3948
|
+
None,
|
|
3949
|
+
description="Curve-fitting passes. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3950
|
+
title="Vectorization Max Iterations",
|
|
3951
|
+
)
|
|
3952
|
+
vectorization_path_precision: VectorizationPathPrecision | None = Field(
|
|
3953
|
+
None,
|
|
3954
|
+
description="Decimal places kept in SVG path coordinates. Honored by the models whose capabilities report `vectorization_controls`.",
|
|
3955
|
+
title="Vectorization Path Precision",
|
|
3956
|
+
)
|
|
3733
3957
|
transparency: bool | None = Field(
|
|
3734
3958
|
None,
|
|
3735
3959
|
description="Put the output on a transparent background. Also accepted as `remove_background`.",
|
|
@@ -3755,6 +3979,16 @@ class ExecuteInferenceV2Request(BaseModel):
|
|
|
3755
3979
|
None,
|
|
3756
3980
|
description="Relight the init image: one or more orbit lights, each placed by `rotation` (`yaw` around the subject and `pitch` above or below it, in degrees) with an `intensity` and a `color_hex`. Honored by the models whose capabilities report `scene_lighting`.",
|
|
3757
3981
|
)
|
|
3982
|
+
expression: str | None = Field(
|
|
3983
|
+
None,
|
|
3984
|
+
description="The expression a face edit gives the face, one of the names the model's capabilities list under `expressions`.",
|
|
3985
|
+
title="Expression",
|
|
3986
|
+
)
|
|
3987
|
+
target_language: str | None = Field(
|
|
3988
|
+
None,
|
|
3989
|
+
description="The language a dub speaks, as one of the ISO 639-1 codes the model's capabilities list under `dub_languages`.",
|
|
3990
|
+
title="Target Language",
|
|
3991
|
+
)
|
|
3758
3992
|
audio_sections: list[AudioEditSection] | None = Field(
|
|
3759
3993
|
[],
|
|
3760
3994
|
description="Regenerate stretches of the init audio: each section is a window from `start_seconds` to `end_seconds`, measured from the clip's `anchor` (its start by default), that the prompt rewrites while the rest is kept. Honored by the audio models listed for the `inpainting` use case.",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|