SAMBA-ilum 1.0.0.458__tar.gz → 1.0.0.460__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.
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/PKG-INFO +1 -1
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/SAMBA_ilum.egg-info/PKG-INFO +1 -1
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/__main__.py +1 -1
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/HeteroStructure_Generator.py +16 -91
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input +0 -1
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/data-base_json.py +3 -4
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/setup.py +1 -1
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/LICENSE.txt +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/README.md +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/SAMBA_ilum.egg-info/SOURCES.txt +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/SAMBA_ilum.egg-info/dependency_links.txt +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/SAMBA_ilum.egg-info/entry_points.txt +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/SAMBA_ilum.egg-info/requires.txt +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/SAMBA_ilum.egg-info/top_level.txt +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/__init__.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/BZ_2D.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_a-scan +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_bader +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_bader.SO +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_bands +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_bands.SO +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_dos +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_dos.SO +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_relax +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_scf +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_scf.SO +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_xy-scan +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_xyz-scan +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/INCAR_z-scan +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/SAMBA_WorkFlow.input +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.bands +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.chgcar +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.dos +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.location +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.locpot +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.orbitals +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/inputs_VASProcar/input.vasprocar.spin +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/vdw_kernel.bindat +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/_info_pseudo.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/a-scan.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/a-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/bader +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/bader_poscar.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/bader_update.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/charge_transfer.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/chgsum.pl +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/contcar_update.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/data-base_union.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/energy_scan.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/hubbard_correction.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/job.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/kpoints.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/lattice_plot3d.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/make_files.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/output.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/potcar.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/vdW_DF.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/xy-scan.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/xy-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/xyz-scan.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/xyz-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/z-scan.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/z-scan_analysis.py +0 -0
- {samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/setup.cfg +0 -0
|
@@ -21,8 +21,6 @@ import sys
|
|
|
21
21
|
import os
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
#----------------
|
|
25
|
-
mismatch_type = 0
|
|
26
24
|
#---------------------------------------------
|
|
27
25
|
crit_mod_vector = float(crit_mod_vector)
|
|
28
26
|
crit_distorc_lattice = float(crit_distorc_lattice)
|
|
@@ -1287,20 +1285,14 @@ if (n_test == 1):
|
|
|
1287
1285
|
VTemp2 = poscar2.readline()
|
|
1288
1286
|
if (n_Lattice == 3): VTemp3 = poscar3.readline()
|
|
1289
1287
|
#================================================
|
|
1290
|
-
if (mismatch_type == 0):
|
|
1288
|
+
if (mismatch_type == 0 or mismatch_type == 1):
|
|
1291
1289
|
#--------------------------
|
|
1292
1290
|
VTemp1 = poscar1.readline()
|
|
1293
1291
|
VTemp2 = poscar2.readline()
|
|
1294
1292
|
if (n_Lattice == 3): VTemp3 = poscar3.readline()
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
VTemp2 = poscar2.readline()
|
|
1299
|
-
if (n_Lattice == 3): VTemp3 = poscar3.readline()
|
|
1300
|
-
|
|
1301
|
-
#--------------------------------------------------------------------------------------------
|
|
1302
|
-
# Obtendo o módulo dos vetores (A,B), Area das Células e o Angulo de Abertura das células ---
|
|
1303
|
-
#--------------------------------------------------------------------------------------------
|
|
1293
|
+
#---------------------------------------------------------------------------------
|
|
1294
|
+
# Obtendo o módulo dos vetores (A,B), Area de o Angulo de Abertura das células ---
|
|
1295
|
+
#---------------------------------------------------------------------------------
|
|
1304
1296
|
mod_A1 = np.linalg.norm(A1)
|
|
1305
1297
|
mod_B1 = np.linalg.norm(B1)
|
|
1306
1298
|
mod_A2 = np.linalg.norm(A2)
|
|
@@ -1329,12 +1321,18 @@ if (n_test == 1):
|
|
|
1329
1321
|
#-------------------------------------------------------
|
|
1330
1322
|
# Definindo a célula intermediária ---------------------
|
|
1331
1323
|
#-------------------------------------------------------
|
|
1332
|
-
if (
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1324
|
+
if (mismatch_type == 0):
|
|
1325
|
+
if (n_Lattice == 2):
|
|
1326
|
+
A_int = (A1 + A2_rotated)/2
|
|
1327
|
+
B_int = (B1 + B2_rotated)/2
|
|
1328
|
+
if (n_Lattice == 3):
|
|
1329
|
+
A_int = (A1 + A2_rotated + A3_rotated)/3
|
|
1330
|
+
B_int = (B1 + B2_rotated + B3_rotated)/3
|
|
1331
|
+
#---------------------------------------------
|
|
1332
|
+
if (mismatch_type == 1):
|
|
1333
|
+
A_int = A1
|
|
1334
|
+
B_int = B1
|
|
1335
|
+
#--------------------------------
|
|
1338
1336
|
mod_A_int = np.linalg.norm(A_int)
|
|
1339
1337
|
mod_B_int = np.linalg.norm(B_int)
|
|
1340
1338
|
Area_int = np.linalg.norm(np.cross(A_int, B_int))
|
|
@@ -1493,79 +1491,6 @@ if (n_test == 1):
|
|
|
1493
1491
|
if (n_Lattice == 3): VTemp3 = poscar3.readline()
|
|
1494
1492
|
poscar_new.write(f'{VTemp1[0]} {VTemp1[1]} {VTemp1[2]} \n')
|
|
1495
1493
|
|
|
1496
|
-
|
|
1497
|
-
if (mismatch_type == 1):
|
|
1498
|
-
#=====================================================
|
|
1499
|
-
# Obtenção das Matrizes de Strain para cada rede =====
|
|
1500
|
-
#=====================================================
|
|
1501
|
-
Lattice_A = [ [A1[0], A1[1]], [B1[0], B1[1]] ]
|
|
1502
|
-
Lattice_B = [ [A2[0], A2[1]], [B2[0], B2[1]] ]
|
|
1503
|
-
if (n_Lattice == 3): Lattice_C = [ [A3[0], A3[1]], [B3[0], B3[1]] ]
|
|
1504
|
-
I = np.eye(2)
|
|
1505
|
-
#------------
|
|
1506
|
-
|
|
1507
|
-
"""
|
|
1508
|
-
Lattice_A_inv = np.linalg.inv(Lattice_A)
|
|
1509
|
-
F_A = np.dot(Lattice_A, Lattice_A_inv) # ?????????????????? Verificar/Corrigir para mismatch_type == 1
|
|
1510
|
-
MStrain_A = 0.5 * (np.dot(F_A.T, F_A) - I)
|
|
1511
|
-
for aa in range(2):
|
|
1512
|
-
for bb in range(2):
|
|
1513
|
-
MStrain_A [aa][bb] = round(MStrain_A [aa][bb], 4) # ?????????????????? Verificar/Corrigir para mismatch_type == 1
|
|
1514
|
-
if (MStrain_A[aa][bb] == -0.0): MStrain_A[aa][bb] = 0.0
|
|
1515
|
-
#--------------------------------------------------------------
|
|
1516
|
-
Lattice_B_inv = np.linalg.inv(Lattice_B)
|
|
1517
|
-
F_B = np.dot(Lattice_A, Lattice_B_inv) # ?????????????????? Verificar/Corrigir para mismatch_type == 1
|
|
1518
|
-
MStrain_B = 0.5 * (np.dot(F_B.T, F_B) - I)
|
|
1519
|
-
for aa in range(2):
|
|
1520
|
-
for bb in range(2):
|
|
1521
|
-
MStrain_B [aa][bb] = round(MStrain_B [aa][bb], 4) # ?????????????????? Verificar/Corrigir para mismatch_type == 1
|
|
1522
|
-
if (MStrain_B[aa][bb] == -0.0): MStrain_B[aa][bb] = 0.0
|
|
1523
|
-
#--------------------------------------------------------------
|
|
1524
|
-
if (n_Lattice == 3):
|
|
1525
|
-
Lattice_C_inv = np.linalg.inv(Lattice_C)
|
|
1526
|
-
F_C = np.dot(Lattice_A, Lattice_C_inv) # ?????????????????? Verificar/Corrigir para mismatch_type == 1
|
|
1527
|
-
MStrain_C = 0.5 * (np.dot(F_C.T, F_C) - I)
|
|
1528
|
-
for aa in range(2):
|
|
1529
|
-
for bb in range(2):
|
|
1530
|
-
MStrain_C [aa][bb] = round(MStrain_C [aa][bb], 4) # ?????????????????? Verificar/Corrigir para mismatch_type == 1
|
|
1531
|
-
if (MStrain_C[aa][bb] == -0.0): MStrain_C[aa][bb] = 0.0
|
|
1532
|
-
"""
|
|
1533
|
-
|
|
1534
|
-
poscar_new.write(f'SAMBA {label_htstructure} {nions_1} {nions_2}')
|
|
1535
|
-
if (n_Lattice == 3): poscar_new.write(f' {nions_3}')
|
|
1536
|
-
#----------------------------------------------
|
|
1537
|
-
if (n_Lattice == 2):
|
|
1538
|
-
poscar_new.write(f' | mismatch_area = 0.0_0.0 | mismatch_angle_12 = {mismatch_ang12[i]}')
|
|
1539
|
-
poscar_new.write(f' | rotation_12 = {angle1}')
|
|
1540
|
-
if (n_Lattice == 3):
|
|
1541
|
-
poscar_new.write(f' | mismatch_area = 0.0_0.0_0.0 | mismatch_angle_12_13 = {mismatch_ang12[i]}_{mismatch_ang13[i]}')
|
|
1542
|
-
poscar_new.write(f' | rotation_12_13 = {angle1}_{angle3}')
|
|
1543
|
-
#----------------------------------------------
|
|
1544
|
-
poscar_new.write(f' | MSCell_1 = {int(MT1_00[i])}_{int(MT1_01[i])}_{int(MT1_10[i])}_{int(MT1_10[i])}')
|
|
1545
|
-
poscar_new.write(f' | MSCell_2 = {int(MT2_00[i])}_{int(MT2_01[i])}_{int(MT2_10[i])}_{int(MT2_10[i])}')
|
|
1546
|
-
if (n_Lattice == 3): poscar_new.write(f' | MSCell_3 = {int(MT3_00[i])}_{int(MT3_01[i])}_{int(MT3_10[i])}_{int(MT3_10[i])}')
|
|
1547
|
-
#----------------------------------------------
|
|
1548
|
-
poscar_new.write(f' | MDeform_1 = {float(0.0)}_{float(0.0)}_{float(0.0)}_{float(0.0)}')
|
|
1549
|
-
poscar_new.write(f' | MDeform_2 = {float(0.0)}_{float(0.0)}_{float(0.0)}_{float(0.0)}')
|
|
1550
|
-
if (n_Lattice == 3): poscar_new.write(f' | MDeform_3 = {float(0.0)}_{float(0.0)}_{float(0.0)}_{float(0.0)}')
|
|
1551
|
-
#----------------------------------------------
|
|
1552
|
-
poscar_new.write(f' | MSTrain_1 = {float(0.0)}_{float(0.0)}_{float(0.0)}_{float(0.0)}')
|
|
1553
|
-
poscar_new.write(f' | MSTrain_2 = {float(0.0)}_{float(0.0)}_{float(0.0)}_{float(0.0)}')
|
|
1554
|
-
if (n_Lattice == 3): poscar_new.write(f' | MSTrain_3 = {float(0.0)}_{float(0.0)}_{float(0.0)}_{float(0.0)}')
|
|
1555
|
-
#----------------------------------------------
|
|
1556
|
-
poscar_new.write(f' | {ID_Heteroestrutura} \n')
|
|
1557
|
-
#----------------------------------------------
|
|
1558
|
-
VTemp1 = poscar1.readline().split()
|
|
1559
|
-
VTemp2 = poscar2.readline()
|
|
1560
|
-
#-----------------
|
|
1561
|
-
for j in range(3):
|
|
1562
|
-
VTemp1 = poscar1.readline().split()
|
|
1563
|
-
VTemp2 = poscar2.readline()
|
|
1564
|
-
if (n_Lattice == 3):
|
|
1565
|
-
VTemp3 = poscar3.readline()
|
|
1566
|
-
poscar_new.write(f'{VTemp1[0]} {VTemp1[1]} {VTemp1[2]} \n')
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
1494
|
#=================================================================
|
|
1570
1495
|
VTemp1 = poscar1.readline().split()
|
|
1571
1496
|
VTemp2 = poscar2.readline().split()
|
{samba_ilum-1.0.0.458 → samba_ilum-1.0.0.460}/samba_ilum/src/INPUTS/SAMBA_HeteroStructure.input
RENAMED
|
@@ -56,7 +56,6 @@ angle_min = 15.0 # Angulo minímo de abertura entre os vet
|
|
|
56
56
|
angle_max = 165.0 # Angulo máximo de abertura entre os vetores A1 e A2
|
|
57
57
|
#----------------------------------
|
|
58
58
|
mismatch_type = 0 # Deformação aplicada: [0] Distribuida proporcionalmente entre os materiais, [1] Aplicado ao 2º e 3º Materiais
|
|
59
|
-
# Observação: A opção [1] encontra-se não-funcional no momento (ajustes devem ser realizados no código)
|
|
60
59
|
#----------------------------------
|
|
61
60
|
rot_angle_calc = 'center_cell' # 'center_cell', 'A1' ou 'A2' Vetor com relação ao qual o ângulo de rotação entre os materiais é cálculado
|
|
62
61
|
#----------------------------------
|
|
@@ -267,9 +267,8 @@ if (n_materials > 1):
|
|
|
267
267
|
# =================================================
|
|
268
268
|
# Extraindo a Energia de Ligação ==================
|
|
269
269
|
# =================================================
|
|
270
|
-
|
|
270
|
+
e_binding = '--'
|
|
271
271
|
if os.path.isfile('output/z-scan/info_z-scan.dat'):
|
|
272
|
-
e_binding = '--'
|
|
273
272
|
#--------------------------------------------------
|
|
274
273
|
zscan = open('output/z-scan/info_z-scan.dat', "r")
|
|
275
274
|
#--------------------------------------------------
|
|
@@ -303,8 +302,8 @@ if os.path.isfile('output/z-scan/info_z-scan.dat'):
|
|
|
303
302
|
# =================================================
|
|
304
303
|
# Extraindo a Energia de Deslizamento =============
|
|
305
304
|
# =================================================
|
|
305
|
+
e_slide = '--'
|
|
306
306
|
if os.path.isfile('output/xy-scan/info_xy-scan.dat'):
|
|
307
|
-
e_slide = '--'
|
|
308
307
|
#----------------------------------------------------
|
|
309
308
|
xyscan = open('output/xy-scan/info_xy-scan.dat', "r")
|
|
310
309
|
#----------------------------------------------------
|
|
@@ -431,7 +430,7 @@ for n in range(2):
|
|
|
431
430
|
tk_vbm = '--'; tk_cbm = '--'; k_vbm = '--'; k_cbm = '--'
|
|
432
431
|
nk = '--'; nb = '--'; ne = '--'; ne_valence = '--'; vbm = '--'; cbm = '--'; charge_transfer = []; charge_transfer_SO = []
|
|
433
432
|
gap = '--'; type_gap = '--'; k_vbm = []; k_cbm = []; lorbit = '--'; ispin = '--'
|
|
434
|
-
|
|
433
|
+
#------------------------------------------------------------------------------------
|
|
435
434
|
non_collinear = '--'; spin_orbit = '--'; lorbit = '--'; ispin = '--'
|
|
436
435
|
#----------------------------------------------------------------------
|
|
437
436
|
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|