%FDF-1.2 %âãÏÓ 1 0 obj <]/F(PSF/.Home/Standards - Specs/T10/sat2r02/SAT2-r06a.pdf)>>>> endobj 3 0 obj <> endobj 4 0 obj <

Should all SBC-2 be SBC-3 instead?

)/Type/Annot/Popup 3 0 R/Page 0>> endobj 6 0 obj <> endobj 7 0 obj <

Revision 05 s/b Revision 06

)/Type/Annot/Popup 6 0 R/Page 0>> endobj 9 0 obj <> endobj 10 0 obj <

Global - We've got references all over the place. We have references to SAM-3,SAM-4, SBC-2, SBC-3, SPC-3 and SPC-4, SAS-1.1, SAS-2. Very confusing. Suggest using latest: SAM-4 - thru LB SPC-4 is stable \ SBC-3 going to LB soon SAS-2 in LB resolution

)/Type/Annot/Popup 9 0 R/Page 0>> endobj 12 0 obj <> endobj 13 0 obj <

Global Wherever possible the lat\ est versions of standards should be referenced \(e.g., SBC-2 s/b SBC-3, SPC-3 s/b SPC-4\). This appears to have already been done for SAM-4.

)/Type/Annot/Popup 12 0 R/Page 0>> endobj 15 0 obj <> endobj 16 0 obj <

Revision 05 s/b Revision 06<\ /span>

)/Type/Annot/Popup 15 0 R/Page 0>> endobj 18 0 obj <> endobj 19 0 obj <

22 June 2008 is incorrect

)/Type/Annot/Popup 18 0 R/Page 0>> endobj 21 0 obj <> endobj 22 0 obj <> endobj 24 0 obj <> endobj 25 0 obj <

Revision 6

)/RD[0.745239 0.745239 0.745239 0.745239]/Type/Annot/Popup 24 0 R/Page 0>> endobj 27 0 obj <> endobj 28 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 27 0 R/Page 0>> endobj 30 0 obj <> endobj 31 0 obj <>)/M(D:20080819120243-05'00')/T(LSI-Penokie)/Subj(Highlight)/QuadPoints[168.055 389.34 531.682 389.34 168.055 376.083 531.682 376.083]/RC(

This should be << SCSI Block Commands-3 \(SBC-3\) and SCSI Primary Commands-4 \(SPC-4\) standards >>

)/Type/Annot/Popup 30 0 R/Page 2>> endobj 33 0 obj <> endobj 34 0 obj <

SBC-2 s/b SBC-3

)/Type/Annot/Popup 33 0 R/Page 2>> endobj 36 0 obj <> endobj 37 0 obj <

SPC-3 s/b SPC-4

)/Type/Annot/Popup 36 0 R/Page 2>> endobj 39 0 obj <> endobj 40 0 obj <

insert "other"

)/RD[0.714294 0.714264 0.714233 0.714264]/Type/Annot/Popup 39 0 R/Page 2>> endobj 42 0 obj <> endobj 43 0 obj <

Figure numbering is messed up in Figure Table. Multiple 8,9,10

)/Type/Annot/Popup 42 0 R/Page 12>> endobj 44 0 obj <

Numbering of figures should be sequential

)/RD[0.500004 0.5 0.5 93.1048]/LE/OpenArrow/Type/Annot/Page 12>> endobj 46 0 obj <> endobj 47 0 obj <

The revision history needs to be removed in the final version.

)/Type/Annot/Popup 46 0 R/Page 13>> endobj 49 0 obj <> endobj 50 0 obj <

Remove Revision History prior to forwarding.

)/Type/Annot/Popup 49 0 R/Page 13>> endobj 52 0 obj <> endobj 53 0 obj <

Add dates to R.5 and R.6 and future \ revision history headers

)/Type/Annot/Popup 52 0 R/Page 14>> endobj 55 0 obj <> endobj 56 0 obj <

Mark Evans, Vice-Chair

)/Type/Annot/Popup 55 0 R/Page 15>> endobj 58 0 obj <> endobj 59 0 obj <

George O. Penokie, Vice-Chair s/b Mark Evans, Vice-Chair

)/Type/Annot/Popup 58 0 R/Page 15>> endobj 61 0 obj <> endobj 62 0 obj <> endobj 64 0 obj <> endobj 65 0 obj <

host-based software or firmware

)/RD[0.714264 0.714294 0.714264 0.714233]/Type/Annot/Popup 64 0 R/Page 15>> endobj 67 0 obj <> endobj 68 0 obj <> endobj 70 0 obj <> endobj 71 0 obj <

perform

)/RD[0.714264 0.714233 0.714264 0.714233]/Type/Annot/Popup 70 0 R/Page 15>> endobj 73 0 obj <> endobj 74 0 obj <> endobj 76 0 obj <> endobj 77 0 obj <

Add T10 Membership list

)/Type/Annot/Popup 76 0 R/Page 16>> endobj 78 0 obj <

Insert list of committee members

)/RD[86.6002 0.5 0.5 9.49176]/LE/OpenArrow/Type/Annot/Page 16>> endobj 80 0 obj <> endobj 81 0 obj <

SCSI Primary Commands-4 a

)/Type/Annot/Popup 80 0 R/Page 17>> endobj 83 0 obj <> endobj 84 0 obj <

SCSI Block Commands-3

)/Type/Annot/Popup 83 0 R/Page 17>> endobj 86 0 obj <> endobj 87 0 obj <

Clause 6 is titled Command Management Model, seems confusing.

)/Type/Annot/Popup 86 0 R/Page 17>> endobj 89 0 obj <> endobj 90 0 obj <

Annex A describes the INQUIRY command translation for ATAPI devices. s/b Annex A describes the translation for ATAPI devices.

)/Type/Annot/Popup 89 0 R/Page 17>> endobj 92 0 obj <> endobj 93 0 obj <

The description of Annex A in the I\ ntroduction does not match the contents of Annex A.

)/Type/Annot/Popup 92 0 R/Page 17>> endobj 95 0 obj <> endobj 96 0 obj <> endobj 98 0 obj <> endobj 99 0 obj <> endobj 101 0 obj <> endobj 102 0 obj <

command

)/RD[0.729736 0.729736 0.729736 0.729736]/Type/Annot/Popup 101 0 R/Page 17>> endobj 104 0 obj <> endobj 105 0 obj <

SPC-4, and SBC-3 standards

)/Type/Annot/Popup 104 0 R/Page 18>> endobj 107 0 obj <> endobj 108 0 obj <

It looks like there is no space between the I and the /. This needs to be fixed.

)/Type/Annot/Popup 107 0 R/Page 18>> endobj 110 0 obj <> endobj 111 0 obj <

Marked set by bbesmer

)/StateModel(Marked)/Type/Annot/Popup 110 0 R/Page 18>> endobj 113 0 obj <> endobj 114 0 obj <

SPC-3, and SBC-2 s/b SPC-4 a\ nd SBC-3

)/Type/Annot/Popup 113 0 R/Page 18>> endobj 116 0 obj <> endobj 117 0 obj <

SPC-3, and SBC-2 s/b SPC-4, and SBC-3

)/Type/Annot/Popup 116 0 R/Page 18>> endobj 119 0 obj <> endobj 120 0 obj <

2006 s/b 2008 \(or 2009\)

)/Type/Annot/Popup 119 0 R/Page 18>> endobj 122 0 obj <> endobj 123 0 obj <

While this is true today, this shortly will no longer be true. Suggest replacing this with another suitable example \(such as a defined limited queue depth for ATA that does not exist for SCSI\).

)/Type/Annot/Popup 122 0 R/Page 18>> endobj 125 0 obj <> endobj 126 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 125 0 R/Page 18>> endobj 128 0 obj <> endobj 129 0 obj <

Delete all the "i.e.,"s fr\ om figure 2. That is not used for acronyms in parenthesis - just the acronym is fine, like "\(ATA8-ACS\)"

)/Type/Annot/Popup 128 0 R/Page 19>> endobj 131 0 obj <> endobj 132 0 obj <

Should the SCSI Architecture Model box stop at SAT?

)/Type/Annot/Popup 131 0 R/Page 20>> endobj 134 0 obj <> endobj 135 0 obj <

Delete i.e., in figure 3 \(see reaso\ ning in comment on figure 2\)

)/Type/Annot/Popup 134 0 R/Page 20>> endobj 137 0 obj <> endobj 138 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 137 0 R/Page 20>> endobj 140 0 obj <> endobj 141 0 obj <

Replace all references to SPC-3 with SPC-4 within this standard.

)/Type/Annot/Popup 140 0 R/Page 21>> endobj 143 0 obj <> endobj 144 0 obj <

Replace all references to SBC-2 with SBC-3 within this standard.

)/Type/Annot/Popup 143 0 R/Page 21>> endobj 146 0 obj <> endobj 147 0 obj <

Replace all references to SAS-1.1 with SAS-2 within this standard.

)/Type/Annot/Popup 146 0 R/Page 21>> endobj 149 0 obj <> endobj 150 0 obj <

SAS-2 needs to be added to this list.

)/Type/Annot/Popup 149 0 R/Page 21>> endobj 152 0 obj <> endobj 153 0 obj <

Following global comment on using SAM-4, SPC-4 and SBC-3, remove Approved References: ATA-7, since its based on 8 according to above, SAM-3, SPC-3, SBC-2 Also SAS-2 missing, but referenced in definitions SA\ M-2 ok, because of non autosense reference.

)/Type/Annot/Popup 152 0 R/Page 21>> endobj 155 0 obj <> endobj 156 0 obj <

Include the planned ISO/IEC numbers \ for the ATA8 documents

)/Type/Annot/Popup 155 0 R/Page 21>> endobj 158 0 obj <> endobj 159 0 obj <

Approved s/b lowercase &\ #13;\(or b\) and c\) should also start capitalized\)

)/Type/Annot/Popup 158 0 R/Page 21>> endobj 161 0 obj <> endobj 162 0 obj <

Delete ISO/IEC 14776-413, SCSI A\ rchitecture Model - 3 \(SAM-3\) [ANSI INCITS 402-2005] and upgrade all references to SAM-4

)/Type/Annot/Popup 161 0 R/Page 21>> endobj 164 0 obj <> endobj 165 0 obj <

SAM-4 has an ANSI INCITS number now,\ so the T10 project number can be replaced. The international ISO/IEC 14776-414 is still "under development" so don't move this into 2.2.

)/Type/Annot/Popup 164 0 R/Page 21>> endobj 167 0 obj <> endobj 168 0 obj <

Delete ISO/IEC 14776-151, Serial Attached SCSI - 1.1 \(SAS-1.1\) [ANSI INCITS 417-2006] and upgrade all SAS-1.1 references to SAS-2

)/Type/Annot/Popup 167 0 R/Page 21>> endobj 170 0 obj <> endobj 171 0 obj <

Delete ISO/IEC 14776-322, SCSI B\ lock Commands - 2 \(SBC-2\) [ANSI INCITS 405-2005] and upgrade all SBC-2 references to SBC-3, which should be nearing completion

)/Type/Annot/Popup 170 0 R/Page 21>> endobj 173 0 obj <> endobj 174 0 obj <

Delete ISO/IEC 14776-453, SCSI \ Primary Commands - 3 \(SPC-3\) [ANSI INCITS 408-2005] and upgrade all SPC-3 references to SPC-4

)/Type/Annot/Popup 173 0 R/Page 21>> endobj 176 0 obj <> endobj 177 0 obj <

Add FCP-3 \(or FCP-4\), as that is u\ sed in some example figures and text.

)/Type/Annot/Popup 176 0 R/Page 21>> endobj 179 0 obj <> endobj 180 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 179 0 R/Page 21>> endobj 182 0 obj <> endobj 183 0 obj <

Do we have any references to the USB\ -BOT standard?

)/Type/Annot/Popup 182 0 R/Page 22>> endobj 185 0 obj <> endobj 186 0 obj <

The BOT document is not \(or no longer referenced except in a definition that is the subject of a separate comment\).

)/Type/Annot/Popup 185 0 R/Page 22>> endobj 188 0 obj <> endobj 189 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 188 0 R/Page 22>> endobj 191 0 obj <> endobj 192 0 obj <>should be describe in t\ he main body of the text not part of the definition.)/M(D:20080819123131-05'00')/T(LSI-Penokie)/Subj(Highlight)/QuadPoints[398.522 149.347 544.532 149.347 398.522 136.09 544.532 136.09 64.8012 137.347 543.096 137.347 64.8012 124.091 543.096 124.091 64.8012 125.348 534.349 125.348 64.8012 112.091 534.349 112.091 64.8012 113.348 537.004 113.348 64.8012 100.091 537.004 100.091 64.8012 101.348 519.748 101.348 64.8012 88.0912 519.748 88.0912 64.8012 89.3481 118.087 89.3481 64.8012 76.0914 118.087 76.0914]/RC(

All of this << calculated as two times the value returned in ATA IDENTIFY DEVICE data words 118:117 \(see ATA8-ACS\) if the ATA device returns a value of one in ATA IDENTIFY DEVICE data word 106 bit 12 \(i.e., the ATA \ device supports the Long Logical Sector feature set\). The size of an ATA Logical Sector is 512 bytes if the ATA device returns a value of zero in ATA IDENTIFY DEVICE data word 106 bit 12 \(i.e., the ATA device does not support the Long Logical Sector fea\ ture set\). >>should be describe in the main body of the text not part of the definition.

)/Type/Annot/Popup 191 0 R/Page 23>> endobj 194 0 obj <> endobj 195 0 obj <

SPC-3 s/b SPC-4

)/Type/Annot/Popup 194 0 R/Page 23>> endobj 197 0 obj <> endobj 198 0 obj <

,

)/Type/Annot/Popup 197 0 R/Page 23>> endobj 200 0 obj <> endobj 201 0 obj <

SPC-3 s/b SPC-4

)/Type/Annot/Popup 200 0 R/Page 23>> endobj 203 0 obj <> endobj 204 0 obj <

,

)/Type/Annot/Popup 203 0 R/Page 23>> endobj 206 0 obj <> endobj 207 0 obj <

through s/b over

)/Type/Annot/Popup 206 0 R/Page 23>> endobj 209 0 obj <> endobj 210 0 obj <

\(global\) For cross-refere\ nces in definitions that apply to the entire defined term, use "xxx. See SPC-3." format. Use "\(see SPC-3\)" format just for references for the words preceding it in the sentence."

)/Type/Annot/Popup 209 0 R/Page 23>> endobj 212 0 obj <> endobj 213 0 obj <> endobj 215 0 obj <> endobj 216 0 obj <

compliant with

)/RD[0.745239 0.745239 0.745239 0.745239]/Type/Annot/Popup 215 0 R/Page 23>> endobj 218 0 obj <> endobj 219 0 obj <> endobj 221 0 obj <> endobj 222 0 obj <

\(see 5.7\)

)/RD[0.714203 0.714203 0.714203 0.714203]/Type/Annot/Popup 221 0 R/Page 23>> endobj 224 0 obj <> endobj 225 0 obj <> should be describe in the main body of the text not part of the definition.)/M(D:20080819123230-05'00')/T(LSI-Penokie)/Subj(Highlight)/QuadPoints[90.0 741.054 201.637 741.054 90.0 729.075 201.637 729.075]/RC(

This note << NOTE 1 - The Logical Sector >> should be describe in the main body of the text not part of the definition.

)/Type/Annot/Popup 224 0 R/Page 24>> endobj 227 0 obj <> endobj 228 0 obj <> should be << represented in words, therefore, the number >>. The semicolon is changed to a comma.)/M(D:20080819123356-05'00')/T(LSI-Penokie)/Subj(Highlight)/QuadPoints[345.042 741.054 519.607 741.054 345.042 729.075 519.607 729.075]/RC(

This << represented in words; therefore, the number >> should be << represented in words, therefore, the number >>. The semicolon is changed to a comma.

)/Type/Annot/Popup 227 0 R/Page 24>> endobj 230 0 obj <> endobj 231 0 obj <>should be describe in the main body of the text not part of the definition.\r)/M(D:20080819123537-05'00')/T(LSI-Penokie)/Subj(Highlight)/QuadPoints[453.302 707.34 521.741 707.34 453.302 694.083 521.741 694.083 64.799 695.34 544.903 695.34 64.799 682.083 544.903 682.083 64.799 683.34 544.625 683.34 64.799 670.083 544.625 670.083 64.799 671.34 527.231 671.34 64.799 658.084 527.231 658.084 64.799 659.34 535.402 659.34 64.799 646.084 535.402 646.084 64.799 647.341 312.71 647.341 64.799 634.084 312.71 634.084]/RC(

All of this << returned in ATA IDENTIFY DEVICE data words \(103:100\) minus one if the ATA device returns a value of one in ATA IDENTIFY DEVICE data word 86 bit 10 \(i.e., the ATA device supports the 48-bit address fea\ ture set\), or the total number of user addressable sectors returned in ATA IDENTIFY DEVICE data words \(61:60\) minus one if the ATA device returns a value of zero in ATA IDENTIFY DEVICE data word 86 bit 10 \(i.e., the ATA device does not support the 48-\ bit address feature set\) \(see ATA8-ACS\), >>should be describe in the main body of the text not part of the definition.

)/Type/Annot/Popup 230 0 R/Page 24>> endobj 233 0 obj <> endobj 234 0 obj <

address s/b Address

)/Type/Annot/Popup 233 0 R/Page 24>> endobj 236 0 obj <> endobj 237 0 obj <

address s/b Address

)/Type/Annot/Popup 236 0 R/Page 24>> endobj 239 0 obj <> endobj 240 0 obj <

address s/b Address

)/Type/Annot/Popup 239 0 R/Page 24>> endobj 242 0 obj <> endobj 243 0 obj <

,

)/Type/Annot/Popup 242 0 R/Page 24>> endobj 245 0 obj <> endobj 246 0 obj <> endobj 248 0 obj <> endobj 249 0 obj <

QUEUED s/b QUEUED command

)/Type/Annot/Popup 248 0 R/Page 24>> endobj 251 0 obj <> endobj 252 0 obj <

EXT \( s/b EXT command \(

)/Type/Annot/Popup 251 0 R/Page 24>> endobj 254 0 obj <> endobj 255 0 obj <

EXT\), s/b EXT command\),

)/Type/Annot/Popup 254 0 R/Page 24>> endobj 257 0 obj <> endobj 258 0 obj <

QUEUED \(see s/b QUEUED command \(see

)/Type/Annot/Popup 257 0 R/Page 24>> endobj 260 0 obj <> endobj 261 0 obj <> endobj 263 0 obj <> endobj 264 0 obj <> endobj 266 0 obj <> endobj 267 0 obj <

Rejected set by moverby

)/StateModel(Review)/Type/Annot/Popup 266 0 R/Page 24>> endobj 269 0 obj <> endobj 270 0 obj <

Why is this different than SAM-4 definition? How is this an object?

)/Type/Annot/Popup 269 0 R/Page 25>> endobj 272 0 obj <> endobj 273 0 obj <> endobj 275 0 obj <> endobj 276 0 obj <> endobj 278 0 obj <> endobj 279 0 obj <> endobj 281 0 obj <> endobj 282 0 obj <

SPC-3 s/b SPC-4

)/Type/Annot/Popup 281 0 R/Page 26>> endobj 284 0 obj <> endobj 285 0 obj <

\(see ATA8-ACS\). s/b \(see SATA-2.6\). Most NCQ related material in this standard refer to SAS 2.6

)/Type/Annot/Popup 284 0 R/Page 26>> endobj 287 0 obj <> endobj 288 0 obj <

After LUN definition, add "See \ SAM-4."

)/Type/Annot/Popup 287 0 R/Page 26>> endobj 290 0 obj <> endobj 291 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 290 0 R/Page 26>> endobj 293 0 obj <> endobj 294 0 obj <

It appears that the READ \(32\), WRITE \(32\), VERIFY \(32\), WRITE AND VERIFY \(32\) are not here. Is that intentional or should they be added.

)/Type/Annot/Popup 293 0 R/Page 27>> endobj 296 0 obj <> endobj 297 0 obj <

layer

)/Type/Annot/Popup 296 0 R/Page 27>> endobj 299 0 obj <> endobj 300 0 obj <

layer s/b Layer

)/Type/Annot/Popup 299 0 R/Page 27>> endobj 302 0 obj <> endobj 303 0 obj <> endobj 305 0 obj <> endobj 306 0 obj <> endobj 308 0 obj <> endobj 309 0 obj <

SPC-3 s/b SPC-4

)/Type/Annot/Popup 308 0 R/Page 27>> endobj 311 0 obj <> endobj 312 0 obj <

\(see SBC-2\). s/b \(see SBC-3\).

)/Type/Annot/Popup 311 0 R/Page 27>> endobj 314 0 obj <> endobj 315 0 obj <

\(see SBC-2\). s/b \(see SBC-3\).

)/Type/Annot/Popup 314 0 R/Page 27>> endobj 317 0 obj <> endobj 318 0 obj <

\(see SBC-2\). s/b \(see SBC-3\).

)/Type/Annot/Popup 317 0 R/Page 27>> endobj 320 0 obj <> endobj 321 0 obj <

\(see SBC-2\). s/b \(see SBC-3\).

)/Type/Annot/Popup 320 0 R/Page 27>> endobj 323 0 obj <> endobj 324 0 obj <

\(see SBC-2\). s/b \(see SBC-3\).

)/Type/Annot/Popup 323 0 R/Page 27>> endobj 326 0 obj <> endobj 327 0 obj <> endobj 329 0 obj <> endobj 330 0 obj <> endobj 332 0 obj <> endobj 333 0 obj <> endobj 335 0 obj <> endobj 336 0 obj <

Should the 32 byte read, write and verify commands be added to the different definitions.

)/Type/Annot/Popup 335 0 R/Page 27>> endobj 338 0 obj <> endobj 339 0 obj <

\(see SAS-1.1\) s/b \(see SAS-2\)

)/Type/Annot/Popup 338 0 R/Page 27>> endobj 341 0 obj <> endobj 342 0 obj <

SAS-1.1. s/b SAS-2.

)/Type/Annot/Popup 341 0 R/Page 27>> endobj 344 0 obj <> endobj 345 0 obj <> endobj 347 0 obj <> endobj 348 0 obj <

\(see SAS-1.1\). s/b \(see SAS-2\).

)/Type/Annot/Popup 347 0 R/Page 27>> endobj 350 0 obj <> endobj 351 0 obj <

\(see SAS-1.1\). s/b \(see SAS-2\).

)/Type/Annot/Popup 350 0 R/Page 27>> endobj 353 0 obj <> endobj 354 0 obj <

KEVIN MARKS Needs to update: 3.1.80 SCSI write command: Does WRITE SAME\(10\) \(16\) need to be added here? or WRITE LONG?

)/Type/Annot/Popup 353 0 R/Page 27>> endobj 356 0 obj <> endobj 357 0 obj <

subsytem s/b subsystem

)/Type/Annot/Popup 356 0 R/Page 27>> endobj 359 0 obj <> endobj 360 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 359 0 R/Page 27>> endobj 362 0 obj <> endobj 363 0 obj <

Marked set by moverby

)/StateModel(Marked)/Type/Annot/Popup 362 0 R/Page 27>> endobj 365 0 obj <> endobj 366 0 obj <

The abbreviations list needs to be scrubbed as the list of standards is not consistent with the normative references.

)/Type/Annot/Popup 365 0 R/Page 28>> endobj 368 0 obj <> endobj 369 0 obj <

no definition for "dword"&\ #13; From SAS-2: dword: A sequence of four contiguous bytes or four contiguous characters considered as a unit. The meaning d\ epends on the context \(e.g., when discussing the bits being transmitted over a physical link, dword represents four characters \(i.e., 40 bits\). When discussing the contents of a frame before 8b10b encoding \(see 3.1.2\) or after 10b8b decoding \ \(see 3.1.3\), dword represents four bytes \(i.e., 32 bits\)\).

)/Type/Annot/Popup 368 0 R/Page 28>> endobj 371 0 obj <> endobj 372 0 obj <

is TCQ obsolete?

)/Type/Annot/Popup 371 0 R/Page 28>> endobj 374 0 obj <> endobj 375 0 obj <

\(see SAS-1.1\). s/b see SAS-2\).

)/Type/Annot/Popup 374 0 R/Page 28>> endobj 377 0 obj <> endobj 378 0 obj <