* copyright (C) 1984-2019 merrill consultants dallas texas usa



Yüklə 28,67 Mb.
səhifə16/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   12   13   14   15   16   17   18   19   ...   383

Jul 7, 2017 per call, and the unstated units are milliseconds, so the

actual average value was 120 microseconds. In TYPE7002

dataset, the actual average value was 120 microseconds.

MXG Variable CRYCTE is the calculated average value,

0.000120 seconds, which is 120 microseconds. When printed

with TIMW13.3 format, only three decimals were displayed

(0:00:00.000), so crypto duration variables are now

formatted TIME14.6 to display as 0:00:00.000120 to show

microseconds.

Thanks to Martha A. Knapik, Progressive, USA.

Thanks to Douglas Wells, Progressive, USA.
Change 35.152 Support for BETA 97 Subtype 22 record for both version

EXTYB97Q 430 and 610, although only 430 records have been read.

EXTYB97R New dataset BETA9722REL is created with the relocate

FORMATS segments for Subtype 22 records.

VMACBE97

VMXGINIT


Jul 9, 2017
====== Changes thru 35.151 are in this MXG 35.06 dated Jun 30, 2017=====
Change 35.151 BMC CMF TYPE74 subtype 8 records requires BMC PTF BQM1335

TYPE74 after IBM SuperPav support is installed, even if you are

Jun 28, 2017 NOT using SuperPAVs. After IBMSuperPAV PTFs, the ESS Rank

data are incorrect. No code was changed in MXG.

Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 35.150 Option %LET CECONLY=YES; creates PDB.ASUMCEC keeping only

VMXG70PR the 68 CEC-Level variables, dropping 2794 LPAR-specific

Jun 28, 2017 variables (generally useless, with unique variable names

for 60 LPARs) and creates PDB.ASUMCELP (no changes, but

with one observation per LPAR, it is THE dataset to use

to report LPAR data, with ONE set of variable names.)

NOTE: ALL LPARS in the CEC are summed into ASUMCEC.

Only the first 60 have sets of kept unique names.

The ASUM70PR/ASUM70LP and ASUM70GC/ASUM70GL datasets are

not created when %LET CECONLY=YES; is placed in your

//SYSIN prior to the INCLUDE of ASUM70PR.
Change 35.149 New BUILDJCL=YES option creates JCL for two step job with

UTILBLDP PGM=IFASMFDP control statements to select ONLY the SMF

Jun 30, 2017 records needed for your UTILBLDP selections.
Sep 30, 2017 On Sep 30, UTILBLDX from this change became UTILBLDP as

had been planned in the original text of this change,

and UTILBLDX was removed from MXG 35.09.
-comparison of CPU savings:

Using IFASMFDP to select SMF records can save CPU time,

especially for Ad Hoc jobs that select a relatively small

number of SMF records. Tests with a 15 GigaByte SMF file

with 25 million records was used, but only 1.4 Million of

those records (1 GB) were actually decoded and output.

But they had to be read and that costs CPU time:

MM:SS


READ ALL RECORDS 14:56

USE MXG MACFILE EXIT TO SKIP UNWANTED 12:43


IFASMFDP READ ALL SELECT/WANTED 0:10

READ SELECTED/WANTED 2:25


-Using MACFILE, _SMF decodes the full header and then

deletes unwanted. Decoding DATETIME variables is the

most expensive INFORMAT so I inserted an exit to skip

the unwanted immediately after the ID was input and

prior to any DATETIME field, but the savings were much

less than hoped for and much less than using IFASMFDP.

MM:SS

READ ALL with _SMF THEN DELETE UNWANTED 6:29



READ ALL, DELETE AFTER ID READ 4:45
-BUILDJCL for extreme cases provides extreme results:

Selecting 194 SMF 115 records in a file of 300 million

records (1 MB from 137 GB) dropped the CPU time from

25 min to only 46 seconds, elapsed from 28 to 13 min.


Change 35.148 RMF III CPUTM in datasets ZRBRCDS and ZRBRCDR is wrong if

ASMRMFV ASMRMFV selected RCD records but didn't select SVP table.

ADOCRMFV Creation of CPUTCBTM/CPUSRBTM from Service Units requires

VMACRMFV the SVPCPU and SVPSRB coefficients. ASMRMFV now selects

Jun 27, 2017 SVP records when RCD is selected. Additionally, variable

CPUTM is set missing if there are no SVP data.

SO YOU MUST HAVE BOTH RCD AND SVP TABLES IN ASMRMFV.

-However, if the SVP table is selected, then the RCD table

is NOT forced. The SVP table is now also moved to the

BASIC option table selection group from the MOST option

table selection group because the RCD was always part of

the BASIC option table group.

-Minor performance improvement to UWD table processing

logic.


-Several documentation Sections are updated to support the

above changes:

Section 0 "Contents"

Section 4 "RMF III Table Selection Parameters"

Section 13 "Filtered Records"

Section 26 "ASMRMFV and MXG PDB Data

Thanks to MP Welch, Bank of America, USA.
Change 35.147 Support for new segments create two new datasets:

EXVSIDSK DDDDDD DATASET DESCRIPTION

EXXAMPRC VSIDSK XMVSIDSK VSIDISK Data

IMACXAM XAMPRC XAMSYPRC LIMPOOL Data

VMACXAM

VMXGINIT


Jun 28, 2017

Thanks to Patricia Hansen, ADP, USA.

Thanks to Mike Chaves, ADP, USA.
Change 35.146 -TYPE749 vars R749FPGBYTR and R749FPGBYTS were incorrectly

VMAC74 multiplied by 256; the two input variables had already

Jun 23, 2017 been converted to bytes.

-TYPE749 variables decoded from SMF74DO offset were wrong;

the +17 added to SMF74DO should have been +16.

R749DMAR R749DMAW R749DFMT R749DBYR R749DBYT

R749DFMT R749DPKR R749DPKT R749DWUP R749DWUM

R749DFMT R749DBYX R749DFMT

Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 35.145 Some zVM VXSYTPRP new SMT variables were incorrectly

FORMATS tested for error conditions with GT 8000000Nx values

VMACVMXA that no longer existed after their INPUT, causing large

Jun 25, 2017 values in occasional observations. They are now INPUT

with IB4 or IB4.3 INFORMATS so the first-bit-value causes

a negative value, and the error tests are now LT 0 to

detect and delete them. The MGVXAER format was revised

decode the negative values to print the error messages on

the SAS log (for the first 3 of each error type).

-Some INTERVAL variables were incorrectly deaccumulated

that also caused occasional large values.

Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.


Change 35.144 These error messages, introduced in Change 35.050:

ASUM70PR MXGERROR:DATASETS ASUMCEC ASUMCELP ARE NOT VALID. YOU ARE

VMXG70PR MXGERROR:MISSING TYPE 70 RECORDS FOR ONE OR MORE SYSTEMS.

Jun 23, 2017 MXGERROR:SMF70LAC VALUES FOR THOSE SYSTEMS/CECS ARE INVALID

MXGERROR:SEE CHANGE 35.144 TO CORRECT.

impact the important ASUMCEC and ASUMCELP CEC-level data.

Datasets ASUM70PR and ASUM70LP are impacted, but they

are SYSTEM-Level and are NOT recommended for analysis.

The messages will result if you did NOT process type 70

records from ALL OF YOUR z/OS SYSTEMS in the CEC; for

that case, you need to read all 70 SMF records.

They can also result if your z/OS configuration uses z/OS

SYSTEM names that are set in your SYS1.PARMLIB's IEASYSxx

and are NOT the same as the SMF SYSTEM ID: for example,

if you set SYSTEM names in IEASYSxx to the LPARNAME.

-This change creates a new INCODE70 argument that can be

set externally by macro variable &INCODE70FORPR, so you

can change those SYSTEM name to LPARNAME. Note, this is

only done internally in ASUM70PR code; there is no SYSTEM

variable in ASUMCEC/ASUMCELP. To use INCODE70FORPR, you

first need run this program and look at the output of

PROC FREQ DATA=PDB.TYPE70PR;

TABLES LPARNAME*SMF70STN/NOROW NOCOL NOCUM NOPERCENT;

to verify that LPARNAME equals SMF70STN for ALL systems.

IF THAT IS TRUE, then you need to use either INCODE70= in

your tailored ASUM70PR member (in your USERID.SOURCLIB),

or set the value prior to your ASUM70PR include, using:

%LET INCODE70FOR70PR=%QUOTE(

IF SYSTEM NE LPARNAME THEN SYSTEM=LPARNAME;

);

-Newly added, once you have verified the preceding is TRUE



you can let MXG do the heavy lifting and specify:

%LET INCODE70FOR70PR=ENABLEAUTO;

and MXG will generate the needed code to correct.

Don't hesitate to contact support@mxg.com for help.

See Change 36.027 for an example when LPARNAME is not

equal to SMF70STN.


Change 35.143 -The UTIILBLDP option SUPPRESS is enhanced to recognize

UTILBLDP CICS to be the same as 110.

Jun 21, 2017 -If you specified SORTOUT=NEVER (not really recommended,

intended only for internal testing) it didn't work right:

only the datasets where sort IS required were NOT sorted,

(i.e. DIF() required for deaccumulate members) and all

other datasets WERE sorted. Now, NEVER sorts NOTHING,

and SORTOUT=NO option now sorts ONLY those members that

must be sorted for DIF().
Change 35.142 Format MG080QU has been updated with new z/OS 2.2 values

FORMATS for decoding variable RACFQUAL='EVENT*CODE*QUALIFIER'

Jun 16, 2017

Thanks to Lindsay Oxenham, Australia Defence Department, AUSTRALIA.


Change 35.141 John Burg's 2017 formula for RNI for the z13 was changed

ASUM113 from the 2.6 factor introduced in Change 33.033 in 2015

VMAC113 to the new value of 2.3. John's paper can be found at:

VMACVMXA http://www-03.ibm.com/support/

Jun 15, 2017 /techdocs/atsmastr.nsf/WebIndex/TC000066

Thanks to David Cogar, WellsFargo, USA.


Change 35.140 Support for short sub-sub-type ZPRTR1PL=188.

VMACZPRO


Jun 15, 2017
Change 35.139 -Support for restructured BETA93 Subtype 25 (VMACBETA)

VMACBETA and for restructured BETA97 Subtype 25 (VMACBE97) which

VMACBE97 adds new BE97DTKN DTOKEN variable.

Jun 21, 2017 -Variable BETALEXT has length $16 in VMACBETA subtypes

Jun 26, 2017 21 and 25, but the first INPUT for subtype 0 and other

earlier subtype are length $12, so the kept length was

only 12. Now, LENGTH BETALEXT $16 is set so the kept

variable length is the maximum 16 bytes.

Thanks to Thomas Wigger, Finanz Informatik, GERMANY.

Thanks to Dieter Haak, Finanz Informatik, GERMANY.

Thanks to Robert Gilbert, BNP Paribas Fortis, BELGIUM.
Change 35.138 TPX corrections to TPXIPPRT and TPXTRMON dataset.

VMACTPX The '07'x records are only LENGTH=101, so the TPXAPLON

Jun 9, 2017 data set is still missing TPXIPADR and TPXIPPRT fields.

Thanks to Scott Wiig, USBank, USA.


Change 35.137 Datasets TYPE42DS, TYPE42SR & TYPE42VT with APAR OA44319

VMAC42 have increased accuracy for these I/O duration variables:

Jun 6, 2017 RESPTIME AVGCONTM AVGPNDTM AVGDISTM AVGCUQMS S42CONTM and

AVGIOQMS.

Thanks to Ron Hawkins, Hitachi, USA.
Change 35.136 Correction for NETVIEW ID=38 record with S38CCALR length

VMAC38 less than expected length of 8 bytes. Record is valid,

Jun 14, 2017 MXG expected fixed length of 8 characters.

Thanks to Stuart Wildey, Morgan Stanley, ENGLAND.


Change 35.135 -Enhancements for 4 numeric data filters for RMF Monitor

ADOCRMFV III ASI (Address Space Information) table.

ASMRMFV -A pair of data filters are added to filter ASI entries

VMACRMFV based on the ASICPUTA (Total TCB+SRB time) field for each

Jun 6, 2017 MINTIME interval. These filters are effective only if

the ASI table is selected.


New Parameter Alias(es)

------------- ------------------------------------------

ZEROCPU ZCPU Default

NOZEROCPU NOZCPU, NZCPU


-ZEROCPU is the default and results in all ASI entries

being output to the RMFBSAM file and thus all becoming

observations in the MXG PDB data set ZRBASI (depending

on other ASI filters that may be in use).


The default provides a compatible behavior with prior

ASMRMFV versions.


-NOZEROCPU results in all ASI entries with ASICPUTA=0

being filtered (depending on other ASI filters that may

be in use) and thus these do NOT become observations in

the MXG PDB data set ZRBASI. The data volume to generate

the PDB can be significantly reduced.
In a test group of 21 RMF Monitor III VSAM data sets

78.3% of all ASI entries had ASICPUTA=0. Actual results

may vary.
-While the NOZEROCPU setting might seem to be ALWAYS

desirable there are other considerations:


1) Filtering zero CPU time ASI entries will result in

time series gaps for some Address Spaces in some MINTIME

intervals in charts, plots, or reports.
If such gaps are not acceptable, use the default ZEROCPU

parameter instead. However, there will be a higher

number of PDB ZRBASI data set observations as in prior

ASMRMFV versions.


2) Zero CPU time conditions are NOT always due to pure

idleness for an Address Space.


RMF Monitor III detected delays such as Processor,

Enqueue, Operator Reply, and Operator Mount separately or

in combination can prevent accumulation of any CPU time

for an Address Space in a single MINTIME interval.


The NOZEROCPU parameter used alone with the NOKEEPDELAYS

default will filter out these entries so that further

investigation of a zero CPU time Address Space in a

MINTIME interval based on delays is impossible.


-With the above use of NOZEROCPU in mind an additional

pair of data filters are added to further filter ASI

entries based on the ASISWAIN (Number of Single State

Samples Delayed by ANY Resource) field for each MINTIME

interval.
This filter pair is effective only if the NOZEROCPU

parameter is in effect.


New Parameter Alias(es)

------------- ------------------------------------------

KEEPDELAYS KDELAYS, KDLYS, KEEPD

NOKEEPDELAYS NOKDELAYS, NOKDLYS, NOKEEPD Default


-With NOZEROCPU and NOKEEPDELAYS in effect all ASI entries

with ASICPUTA=0 are filtered regardless if any delays

occurred or not during a MINTIME interval (if not already

filtered by other ASI filters).


-With NOZEROCPU and KEEPDELAYS in effect only ASI entries

with both ASICPUTA=0 AND ASISWAIN=0 (zero delays) in a

MINTIME interval are filtered (if not already filtered

by other ASI filters).


In a test group of 21 RMF Monitor III VSAM data sets with

NOZEROCPU and KEEPDELAYS 75.8% of all ASI entries had

ASICPUTA=0 and ASISWAIN=0 and so were filtered.
This was only 2.5% less data filtered than with NOZEROCPU

used alone. Once again actual results may vary.


-NOZEROCPU and KEEPDELAYS are likely the best compromise

settings between ASI data reduction and retention of

delay information. Neither are defaults.
However, for maximum data reduction use NOZEROCPU alone

if subsequent delay analysis is not required.


-If ZEROCPU/NOZEROCPU is specified multiple times the last

occurrence takes effect.


-If KEEPDELAYS/NOKEEPDELAYS is specified multiple times

the last occurrence takes effect, but both are ignored

if ZEROCPU is in effect.
-The following chart shows ASI entries output to the

RMFBSAM file and thus also to the subsequent observations

in MXG PDB ZRBASI data set based on the settings of

ZEROCPU/NOZEROCPU, KEEPDELAYS/NOKEEPDELAYS:


---------------------------------------------------------

| NOKEEPDELAYS | KEEPDELAYS

| (Default) |

---------------------------------------------------------

ZEROCPU |All ASI entries output |All ASI entries output

(Default)| |

---------------------------------------------------------

NOZEROCPU|Only ASI entries output|Only ASI entries output

|with ASICPUTA NE 0 |with ASICPUTA NE 0

| |OR ASISWAIN NE 0

---------------------------------------------------------
-ASIAND/ASIOR does NOT apply to ZEROCPU/NOZEROCPU and

KEEPDELAYS/NOKEEPDELAYS filters. These are evaluated

independently of other ASI filters.
-The order of ASI filter application is:
1) ASISUBSYS= <----

2) ASIWORKLOAD= |

3) ASIRESGROUP= |

4) ASISRVCLASS= |--< ASIAND/ASIOR applies only

5) ASIRPTCLASS= | to these filters 1) to 8)

6) ASIJOBCLASS= |

7) ASIJOBNAME= |

8) ASIJESID= <----

9) ZEROCPU/NOZEROCPU

10) KEEPDELAYS/NOKEEPDELAYS


-The MXG00 record version is raised to x'09' from x'08'.

New fields added to the MXG00 record include:

ZEROCPU/NOZEROCPU and KEEPDELAYS/NOKEEPDELAYS settings
-Update message RMFV006I to show new output filters

ZEROCPU/NOZEROCPU/KEEPDELAYS/NOKEEPDELAYS.


-Several documentation Sections are updated to support

the above changes:


Section 0 "Contents"

Section 2 "Terminology"

Section 4 "RMF III Table Selection Parameters"

Section 5 "Input Data Selection Parameters"

Section 6 "Report Control Parameters"

Section 7 "Output Data Control Parameters"

Section 12 "Messages"

Section 13 "Filtered Records"

Section 31 "Summary"
Change 35.134 Variables T103DBYT and T103DREQ are accumulated fields

VMAC103 that are now correctly deaccumulated in TYPE103D dataset.

Jun 5, 2017 Variables T103DDNS and T103DKEE are always zero in test

data, so it is unknown if they also are accumulated.

Thanks to Joe Faska, DTCC, USA.
Change 35.133 Test program COMPALL updated for new SMF products. This

COMPALL utility compiles all of the SMF processing programs to

Jun 5, 2017 ensure no CHAR/NUM conflicts in temporary variables.

Can not be run on z/OS because it requires 3292MB which

is more than the largest z/OS Private Area available.
Change 35.132 Support for zVM 6.4 APAR VM66026 adds new variables;

VMACVMXA -Variable CUIDSSID='SUBSYSTEM*ID*SSID' is added to dataset

Jun 3, 2017 VXMTRDEV, VXIODVON, and VXIODDEF.

-Variables added to VXIODVON

PREFPATH RDEVHPPL CUIDSSID EQIDUID EQIEQID DEVCHAR

EDEVATTR


-Variables added to VXIODDEV

RDEVNOAL RDEVYSAL RDEVIOQT RDEVIOQS CUIFCXPE RDEVWRAL

RDEVRDAL RDEVWXAL RDEVEXAL
Change 35.131 zVM variable CALENTMT was incorrectly divided by 16, and

VMACVMXA new variable CALSHARE='Hiperdispatch*Processor*SHARE is

Jun 1, 2017 now created as CALSHARE=CALENTMT/65536;

Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.


Change 35.130 Changes in VMXGSUM invocation in little used and mostly

ASUM* obsolete members so that WPS can handle QA stream:

MNTH* ASUMHPAI ASUMHPCS ASUMHPSU ASUMHPUX ASUMMWUX

TRND* MNTH70 MNTH70PR MNTH71 MNTH72 MNTH72GO MNTHCICS MNTHJOBS

May 31, 2017 TRND70 TRND70SH TRND71 TRND72 TRND72GO
Change 35.129 Support for 7th, 8th, and 9th CICS User field.

UTILEXCL


IMACIC7D

IMACIC8D


IMACIC9D

IMACIC7U


IMACIC8U

IMACIC9U


May 31, 2017
Change 35.128 Documentation Note. ZFS and ODS users may need to change

IMACINIT the MXG default CAPSOUT option to NOCAPSOUT since those

May 26, 2017 system need to support both cases. I don't think it is

safe for me to change the option as it could impact the

existing users on z/OS where it was originally needed.

But you can add OPTIONS NOCAPSOUT: in the IMACINIT

member of your tailoring library if you determine it can

be changed with no impact.


Change 35.127 Dataset TYPE30_6 could have negative values for Early

VMAC30 Address Spaces (ASIDs that start prior to JES init that

May 26, 2017 have missing READTIME and JESNR) because of multiple

of the same JOB name, but adding variable ASID to the

BY list in MACRO _BTY30U6 corrects these errors.

Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.


Change 35.126 Variable SMF30SLM is decoded into these new variables in

BUILD005 TYPE30_4 and PDB.STEPS in BUILDPDB and BUILDPD3:

BUIL3005 SMF30SLMRB='REGIONBELOW*NONEXTENDED*REGION?'

VMAC30 SMF30SLMRA='REGIONABOVE*EXTENDED*REGION?'

May 26, 2017 SMF30SLMSB='SYSRESVBELOW*NONEXTENDED*REGION?'

SMF30SLMSA='SYSRESVABOVE*EXTENDED*REGION?'

SMF30SLMML='MEMLIMIT*ACTED ON*MEMLIMIT?'

SMF30SLMBY='IEFUSI*BYPASSED*ALL*SMFLIM?'

Thanks to Scott Barry, SBBWorks Inc., USA.
Change 35.125 See Change 35.166.
Change 35.124 Running WPS with more than 20 libnames caused WPS to fail

PDBAUDIT so now with WPS if there are more than 20 LIBNAMES after

May 22, 2017 removing the LIBNAMES not related to PDBAUDIT, MXG shuts

down with a message that only the first 20 were used.


Change 35.123 Support for z/OS 2.2 updates to TYPE991 dataset adds many

VMAC99 new variables.

May 22, 2017

Thanks to David Cogar, WellsFargo, USA.


Change 35.122 Two new parameters added:

ANALCAPD COMPANY= lets you override MXG in title statements

May 22, 2017 OUTDATA= lets you preserve the dataset with actuals and

rolling 4 hour MSU values for further analysis.

-GRAPHICS code is enabled for WPS at 3.3 or higher.
====== Changes thru 35.121 are in this MXG 35.05 dated May 15, 2017=====
Change 35.121 ERROR: MACRO KEYWORD DO APPEARS AS TEXT because the quote

ANALAVAI after "DO'" and several other syntax errors corrected.

May 13, 2017

Thanks to Hai Huynh, Freddie Mac, USA.


Change 35.120 WPS only, MXG 35.04, Change 35.085. A variable with no

VMXGPRNT label generated unintended text with multiple quotes

May 16, 2017 Varname1='Label*(varname)''(next vrname)'

which is valid text for a SAS label, defined as the text

after an equal sign up to the text before the next token

that is followed by an equal sign, but this syntax was

was not accepted by WPS as a label, causing an ERROR.

The circumvention is to create a LABEL='NOLABEL' for

variables that do not have a label.

-VMXGPRNT is used in ANAL113, ANAL116, VMXGFIND, VMXGPRAL

VMXGPRA1, VMXGPRNT, VMXGSRCH, and JCLPDB members.
Change 35.119 READDB2 had a hard coded limit of 450 for IFCID, and 499

READDB2 had been added in TYPE102s. Now limit is 999.

May 11, 2017

Thanks to Lynn Hong, UCLA, USA.


Change 35.118 Notes on the use of VIEWs in DATA steps that create more

Document than one DATASET.

May 11, 2017 -Only one DATASET can be a view in a DATA step (and the

BUILDPDB program already has one).

-Any of the datasets can be the view, but that view MUST

be the first dataset referenced (read/sorted), or none

of the other datasets will exist.

-Views can dramatically reduce elapsed and CPU times and

I/O counts and durations, for instance for a DATA step

followed by a SORT, where the VIEW eliminates the write

and read of the dataset that is created without a VIEW.

The VIEW doesn't have any impact on the resources used

by the SORT.

-This example started as TYPE120 with the lower case

lines added. WORK needs to be cleared in case there was

a dataset of the same name, whether it was a view or a

dataset. The /view=typ1209r enables the view and names

the one dataset, and the _st1209r "data set sort macro"

is invoked first, and then made blank so the _S120

"product sort macro" can sort the other datasets:


proc datasets ddname=work mt=all kill;

%INCLUDE SOURCLIB(VMACSMF,VMAC120,IMACKEEP);


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   12   13   14   15   16   17   18   19   ...   383




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin